JavaFX字库精简项目开发(五)—— 打包发布

概述

JavaFX是用于构建富互联网应用程序的Java库。使用JavaFX开发的应用程序可以在各种设备上运行,如台式计算机,手机,物联网设备,平板电脑等。最近为了巩固一下JavaFX学习成果,准备利用整个技术开发一个工具软件能够对字库进行裁剪,可以根据用户的设置自动生成精简字库,简化手动裁剪的麻烦。

技术实现

使用maven插件实现javaFX项目的打包发布

涉及技术

  • maven
  • java se

发布方式1:通过jar运行

maven插件

 <build>
        <finalName>javafx-web-app</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <outputDirectory>${project.build.directory}</outputDirectory>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>libs/</classpathPrefix>
                            <mainClass>com.ankept.MainApp</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <configuration>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                ${basedir}/target/extra
                            </outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/resources</directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>8.8.3</version>
                <configuration>
                    <vendor>com.lcpsky.www</vendor>
                    <mainClass>simple.Main</mainClass>
                </configuration>
            </plugin>

        </plugins>
    </build>

jfx:jar构建可执行jar

在这里插入图片描述

打包生成文件目录

在这里插入图片描述
可以直接通过java或javaw -jar javafx-web-app-jfx.jar执行程序,此种方式需要先安装java运行时环境。可能因为环境问题导致程序运行困难。因为也可以选择发布方式2来解决这一问题。

发布方式2 通过jfx:native打包

可以直接打成带有jre的可执行文件,主要问题是打包后文件较大。
打包教程

发布方式3 自行裁剪jre打包为绿色版软件

  • 按照方式1打包
  • 精简jrejavaFX适用的jre
  • 使用bat文件,通过jre中文件执行java或javaw命令如: F:\开发工具软件\jre\bin\java -jar db-baker-jfx.jar
  • 通过bat to exe工具,创建可执行程序及设置图标。

总结

以上已经完成对javaFX开发字体精简工具的全部流程,以上三种打包方式基本涵盖了javaFX发布的主要方式。建议使用方式3打包。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NewTech精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值