前言
使用JavaFX为女朋友开发了一款桌面小应用,最终在打包成exe运行文件时遇到问题,在此记录如何将JavaFX应用打包为exe,常见的打包方法有:
1. Idea自带打包工具:Bulid -> Bulid Artifacts…
2. javafx-maven-plugin
3. spring-boot-maven-plugin + exe4j
经过各种尝试后,最终使用第三种方法完成打包
配置Mavn生成jar包
在pom.xml添加mave打包插件,运行maven打包指令,得到jar包
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--Spring Boot整合springboot-javafx-support后启动主函数入口-->
<mainClass>com.laijava.invoice.InvoiceApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
[INFO] Building jar: D:\allWorkplace\idea2017workPlace\invoice\target\invoice-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] — spring-boot-maven-plugin:2.5.2:repackage (repackage) @ invoice —
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.993 s
[INFO] Finished at: 2021-06-30T22:03:50+08:00
[INFO] Final Memory: 26M/388M
[INFO] ------------------------------------------------------------------------
Process finished with exit code 0
生成invoice-0.0.1-SNAPSHOT.jar
安装exe4j
exe4j 是一个 Java exe 打包,可将Java应用程序集成到 Windows 操作环境中
百度云盘: https://pan.baidu.com/s/1UPkjdfE4HAMMlgMMeHQ1qA
提取码:qg3j
没有许可证密钥,exe4j 可以不受任何时间限制地进行评估,但可执行文件将显示评估警告,并且服务将在 30 分钟后停止
配置exe4j
1.Welcome可以打开原有配置文件,实现快速配置功能
2.Project Type 选用“JAR in EXE” Mode
3.Application info 输入应用基本信息
4.Excutable info 输入执行信息
4.1 Redirection 设置日志输出信息
4.2 32-bit or 64-bit 根距jvm(jre)运行环境选择32位或64位
5 Java invocation
5.1 选择主运行程序,选择 "BOOT-INFxxx"运行时会出现ClassNotFoundException,这里选用JarLuncher
6 Jre 设置最小jre版本
6.1 Configure search sequence 清除原有查询JRE或JDK路径,在exe输出(3配置的Output Directory)目录新增JRE目录,将JRE拷贝到目录下,作为相对引用,不需要用户配置JAVA_HOME或者JDK _HOME等环境变量
9 Compile executable 打包,执行成功
10 Finished Save as 保存配置文件供下次快速配置
后续只需要将applicationOutput 文件夹拷贝到需要运行的机器上即可直接使用
评论区