Java程序通常打包为JAR文件(Java Archive),而非原生的EXE文件(Windows可执行文件)。但在某些场景下,将Java程序打包为EXE文件确实能提高用户体验。为将Java程序打包成EXE文件,可通过以下两种方法:
方法一:使用开源工具Launch4j
Launch4j是一个流行的跨平台开源工具,可将Java JAR文件包装为Windows可执行文件。
1. 下载和安装Launch4j
访问https://sourceforge.net/projects/launch4j/,下载并解压缩Launch4j。
2. 启动Launch4j
运行Launch4j文件夹中的launch4j.exe,启动Launch4j。
3. 配置Launch4j
Launch4j基本上是通过一个图形界面运作的。将JAR文件转换为EXE文件的过程中,需配置以下信息:
a. Output file:EXE文件保存的位置和名称。
b. Jar:您的Java程序JAR文件的路径。
c. Don't wrap the jar, launch only:如果勾选此项,Launch4j将不会实际包装JAR文件,而是只创建一个启动包含的JAR文件的EXE文件。
d. Icon:可为可执行文件指定一个图标。设置好以上这些配置后,单击"Build wrapper"按钮创建EXE文件。
方法二:使用原生Image技术——JEP 343: Packaging Tool
Java 14包含了Java增强建议(JEP)343:打包工具。此工具可以使用原生Image技术将Java程序打包成平台特定的安装包和可执行文件。
1. 安装Java 14(或更新版本)
JEP 343自Java 14引入,需安装Java 14或更新版本。前往https://jdk.java.net/archive/下载并安装符合您系统的JDK。确保正确设置环境变量。
2. 创建Java程序并打包为JAR文件
编写Java程序,使用`javac`命令行工具进行编译,使用`jar`命令打包成JAR文件。
3. 使用jpackage打包程序
jpackage命令用于创建平台特定的安装程序或可执行文件。关于jpackage的详细用法,可查阅[官方文档](https://docs.oracle.com/en/java/javase/14/jpackage/packaging-tool-user-guide.pdf)。
在此示例中,使用以下命令将JAR文件打包为EXE文件:
```
jpackage --type app-image --input input_folder --output output_folder --name MyApp --main-jar my_app.jar --main-class myApp.MainClass --win-dir-chooser
```
替换input_folder、output_folder、MyApp、my_app.jar和myApp.MainClass为您自己的值。当命令运行完成后,output_folder中将包含一个EXE文件。