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平台
浙公网安备 33010602011771号