使用javafxpackager将java项目打包成exe

使用javafxpackager或者javapackager,(jdk7及以上自带的jar包)

打包步骤如下:

备注:我有一个java项目名为Test,只有一个Test

public class Test {

public static void main(String[] args) {

javax.swing.JOptionPane.showMessageDialog(null, "hello j8");

System.exit(0);

}

}

放在E盘的Myproject文件夹下,

然后新创建两个空文件夹UITestUITestJAR主要是用来分开jarexe,免得太乱

 

1】打开cmd(命令行控制台),进入E盘的Myproject目录下

进入E盘命令:e:

然后进入Myproject命令:cd Myproject

2】将项目转为jar命令

javapackager -createjar -appclass Test -srcdir Test/bin -outdir UITestJAR -outfile Test -v

参数说明:

-createjar 创建jar文件

-appclass 指定主类,如果有包名,要加上包名,例如com.main.Test

-srcdir 指定编译后的文件,包括所在包,一般就是指定bin目录【编译好的class文件目录】就好了

-outdir 将生成的jar文件放到哪里去

-outfile 将生成的jar文件命名为什么

-v 输出执行步骤【没什么大用,可以不写】

注意:如果-srcdir命令中指定的是项目名【Test】而不是编译后的文件【Test/bin,那么生成的jar会出现找不到主类,解决方法是把jar解压,然后把bin中东西挪出bin这个文件夹就好了

 

3】将jar打包成exe文件命令

javapackager -deploy -appclass Test -srcdir UITestJAR -outdir UITest -outfile Test -native image -v -Bruntime=jdk中的jre目录】

参数说明:

-depoly 是要生成exe文件

-appclass 主类

-srcdir 指定jar路径

-outdir 输出exe文件的路径

-outfile 输出exe文件的名称

-native image 启动exe程序的本地类型

-v 输出执行步骤
-Bruntime 指定要打包进去的jre,不指定则默认

注意:

exeUITest/bundles/Test文件夹下

 

其实直接在cmd中输入javapackager就可以知道各个参数的命令了

 

进过测试,如果直接打包项目/项目中的编译文件都会失败,必须打包jar文件

原文地址:https://www.cnblogs.com/lmq-1048498039/p/8269903.html