网上有很多jar打包exe用的是 exe4j 或者 Jar2Exe Wizard 这样的工具,我试了一下过程很繁琐,而且还要去找软件破解版。其实javafx程序打包成exe有两种比较简单的方法,普通的java程序也能用。
一、使用javafxpackager
javafxpackager是javafx提供的打包工具,好像从jdk1.7开始就包含这个工具了,它在 jdk 的 bin 目录下。
第一步:新建两个文件夹
一个放入你想打包的jar,另一个用来存放打包生成的exe,注意所有目录、jar、exe名字都
不要带空格。
第二步:开始打包
在 jdk 的 bin 目录下运行cmd,输入javafxpackager,可以看到可用的参数,如下图
我们使用deploy命令,大部分参数一般都是用不到的
我们可以使用下面的参数简单打包
javafxpackager -deploy -native image -appclass
test.Test -srcdir
E://test1 -outdir
E://test2 -outfile
test -name
testName
其中红色字体是你要按实际情况修改的,-appclass是包含main函数的类,要写出包名。
成功以后出现这样的提示
在test2目录下会出现这些文件,bundles文件夹里就是已经打包好的exe文件了
二、使用e(fx)clipse打包
你需要准备:jdk1.8 以及安装了 e(fx)clipse 插件的 Eclipse 4.3 或更高版本。
如果你没有安装e(fx)clipse,参考:
http://somefuture.iteye.com/blog/2243553
第一步:配置Eclipse
打开:窗口——首选项——java——已安装的jre
点击右侧的添加,将jdk路径加入并设为默认值。
打开java——编译器
将编辑器一致性级别设置为1.8
第二步:编辑build.fxbuild
如果你的项目里没有build.fxbuild文件,你可以新建一个javafx项目,然后拷贝这个文件过来。
将下图中的参数填好,点击右侧的Generate ant build.xml only
第三步:添加程序的图标
如果你不想配置图标可以跳过这一步
在build目录下新建package——windows子目录,然后拷入图标,注意图标名必须匹配build.fxbuild中指定的Application标题名
第四步:添加资源
如果你没有想添加的资源,可以跳过这一步
在build目录下新建dist——resources子目录,然后拷入资源
第五步:配置build.xml
如果你没有添加程序图标也没有添加资源,可以跳过这一步
添加“basedir”
找到路径fxant,添加一行到${basedir}(让图标可用)
<pre class="html" name="code"><path id="fxant">
<filelist>
<file name="${java.home}\..\lib\ant-javafx.jar"/>
<file name="${java.home}\lib\jfxrt.jar"/>
<file name="${basedir}"/>
</filelist>
</path>
添加“resources”
找到块 fx:resources id="appRes",为resources添加一行
<fx:resources id="appRes">
<fx:fileset dir="dist" includes="test.jar"/>
<fx:fileset dir="dist" includes="libs/*"/>
<fx:fileset dir="dist" includes="resources/**"/>
</fx:resources>
第六步:运行build.xml
右击build.xml——运行方式——Ant构建
等待运行一会,你会在控制台看到进度,如果一切成功,打包好的exe将在build/deploy/bundles目录下