JavaFx 打包jar(六)
JavaFx 打包jar(六)
JavaFX 从入门入门到入土系列
我们编写了不少javafx,那么如何打包成jar给用户呢?下面我给出比较全的打包方式。
打包jar
下面我给出比较全的打包方式。
1. Maven项目打包
Maven项目打包首先需要修改pom.xml,添加maven-jar-plugin插件
<packaging>jar</packaging>
<properties>
<!--打包编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addClasspath>true</addClasspath>
<useUniqueVersions>false</useUniqueVersions>
<classpathPrefix>lib/</classpathPrefix>
<!--指向要运行的Main类-->
<mainClass>FxmlDemo</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
执行打包命令:
mvn clean package
运行这个jar包
java -jar --module-path "C:\Program Files\Java11\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml javafx-demo-1.0-SNAPSHOT.jar
注意,我的jdk为11,运行时需要先添加javafx的依赖模块
效果如下
2. 普通Main打包
非Maven项目打包,我们添加一个版本输出
然后点OK,编译jar即可。
然后运行它,注意,我的jdk为11,运行时需要先添加javafx的依赖模块
java -jar --module-path "C:\Program Files\Java11\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml javafx-demo.jar
3. 其他window运行
在其他window运行时,需要把jdk11的运行时环境单独拿出和javafx的依赖,把这些依赖放到jar同一目录,编写一个.bat
脚本运行它即可。