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