java14打包为exe

在本教程中,我们将讲解如何将使用Java14编写的应用程序打包成可执行的exe文件。这可以使您发布的程序在无需单独安装Java运行环境的情况下直接在Windows系统上运行。我们将使用jpackage实用程序来实现这一目标,这是一个从Java14开始引入的实用程序,用于生成各种平台下的自包含Java应用程序。

**准备工作**

1. 首先确保您安装了最新版本的Java(至少是JDK 14或更高版本)。您可以在这里下载适用于您的操作系统的JDK:https://jdk.java.net/archive/

2. 确保JAVA_HOME环境变量已设置为您安装的JDK的路径。

3. 安装Inno Setup,用于创建exe安装程序。您可以在以下链接进行下载安装:https://jrsoftware.org/isdl.php

**编写Java程序**

首先,我们来创建一个简单的Java程序作为示例:

```java

public class HelloWorld {

public static void main(String[] args) {

System.out.println("Hello, World!");

}

}

```

将此代码保存为`HelloWorld.java`文件。

**编译Java程序**

使用以下命令在命令提示符中编译Java程序:

```shell

javac HelloWorld.java

```

这将创建一个名为`HelloWorld.class`的文件。

**创建jar文件**

接下来,我们将创建一个包含`HelloWorld.class`文件的`HelloWorld.jar`文件。运行以下命令:

```shell

jar --create --file HelloWorld.jar --main-class HelloWorld HelloWorld.class

```

**使用jpackage生成exe文件**

接下来,我们将使用jpackage实用程序生成可执行的exe文件。请确保您已经设置了JAVA_HOME环境变量。运行以下命令:

```shell

%JAVA_HOME%\bin\jpackage --type app-image --input . --output output --name HelloWorld --main-jar HelloWorld.jar --main-class HelloWorld --win-console --runtime-image %JAVA_HOME%

```

jpackage将在名为“output”的新目录中生成Windows平台的应用程序映像。

**使用Inno Setup创建可安装的exe程序**

若要使我们的Java应用程序具有安装和卸载功能,我们可以使用Inno Setup来创建一个安装程序。以下是一个简单的安装脚本示例:

```inno

[Setup]

AppName=HelloWorld

AppVersion=1.0

DefaultDirName={pf}\HelloWorld

DisableProgramGroupPage=yes

OutputBaseFilename=HelloWorld-setup.exe

[Files]

Source: "output\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]

Name: "{commondesktop}\HelloWorld"; Filename: "{app}\HelloWorld.exe";

[Run]

Filename: "{app}\HelloWorld.exe"; Description: "Launch HelloWorld"; Flags: nowait postinstall skipifsilent

```

将此脚本保存为`HelloWorld-install.iss`文件,然后在Inno Setup中打开它。点击“编译”按钮生成最终的`HelloWorld-setup.exe`安装程序。

现在您已将Java14程序打包为EXE文件,并创建了一个可安装的EXE文件供用户安装和使用。