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平台

 

posted @   精神病人王大夫  阅读(269)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示