目录
概述
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打包。