使用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文件夹下,
然后新创建两个空文件夹UITest、UITestJAR,主要是用来分开jar和exe,免得太乱
【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,不指定则默认
注意:
exe在UITest/bundles/Test文件夹下
其实直接在cmd中输入javapackager就可以知道各个参数的命令了
进过测试,如果直接打包项目/项目中的编译文件都会失败,必须打包jar文件