javafx打包
1.jdk自带jpackage打包
参考:【演示】2023快速搭建JavaFX+SpringBoot桌面项目并打包成exe可执行文件_哔哩哔哩_bilibili
pom文件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <outputDirectory>${project.build.directory}/dist</outputDirectory> <archive> <manifest> <mainClass>com.xunhui.pdmeasurefx.PdMeasureFxApplication</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.1</version> <configuration> <source>17</source> <target>17</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <configuration> <createDependencyReducedPom>true</createDependencyReducedPom> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
mainClass:启动类 打包后cd到target路径下,执行以下命令,二选一,第二个加了图标
%JAVA_HOME%\bin\jpackage.exe --name PDMeasureFX --input target/dist --main-jar pdmeasurefx-0.0.1.jar --type app-image --win-console --dest target/output
%JAVA_HOME%\bin\jpackage.exe --name PDMeasureFX --icon target\classes\static\images\logo\demo.ico --input target/dist --main-jar pdmeasurefx-0.0.1.jar --type app-image --dest target/output
--input和--dest路径不能相同,否则会相互创建文件夹,就会导致一个文件夹下有无数子层无法删除,删的话需要用DiskGenius选择彻底删除
--win-console为打包后运行exe文件,会同时开一个黑窗口显示日志,正式环境可以删掉这个参数
--icon图标优点:简单粗暴 缺点:包很大
2.javapackager打包
参考:https://github.com/fvarrui/JavaPackager pom文件
<build> <plugins> <plugin> <groupId>io.github.fvarrui</groupId> <artifactId>javapackager</artifactId> <version>1.6.7</version> <executions> <execution> <id>bundling-for-windows</id> <phase>package</phase> <goals> <goal>package</goal> </goals> <configuration> <mainClass>com.xunhui.pdmeasurefx.PdMeasureFxApplication</mainClass> <name>pdmeasurefx</name> <bundleJre>true</bundleJre> <customizedJre>false</customizedJre> <generateInstaller>false</generateInstaller> <administratorRequired>false</administratorRequired> <additionalResources> <additionalResource>E:\sanhuaproject\other\PD\PDMeasureFX\conf</additionalResource> </additionalResources> <platform>windows</platform> <displayName>${name}</displayName> <createZipball>true</createZipball> </configuration> </execution> </executions> </plugin> </plugins> </build>
很多参数可以参考github文档说明
3.jlink打包
放弃,由于springboot对模块化支持不太好,而且lombok对模块化支持也不大行,放弃
4.graalvm打包
没试过,但是效率应该是最好的,打包后的大小应该也是最小的,但是不能打linux和mac平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)