很久以前用过了,最近因为需要写数据转换的小接口。客户机器并没有java环境,所以想起来将jar打包成exe可执行文件。重新用到了Jsmooth在这里记录下过程,希望对自己对别人都有个帮助吧!
1.启动JSmooth(下载地址:见本空间资源)
2.点击“骨架”,选取Windowed Wrapper或Console Wrapper,根据所写程序的类型选择。
3.点击“可执行文件”,填写目标exe名称,指定图标,设定当前目录路径,最好都放在一个文件夹下,可以勾选设置文件所在目录为当前文件夹;
4.点击“应用程序”,选择使用嵌入式jar,浏览找到要转换的jar,之后选择jar中的主类;Classpath(类路径选择依赖的jar)
5.点击“JVM选择”,使用JVM捆绑,勾选使用捆绑在你的应用中的JVM,并选择JRE路径,JRE有将近90M,可以精简,感觉很麻烦,可以到网上下载精简版的大概9M多。(下载地址:见本空间资源)
6.点击小齿轮图标,保存设置文件(从3-6这四步是设置过程,文件类型为.jsmooth)并生成目标exe。
测试:双击exe,可以运行;转到没有Java环境的虚拟机拷贝相关资源,附上本次试验目录。
lib为依赖jar目录,jre为精简版java运行环境。output为输出目录(应用程序设置当前目录的output为输出目录的)。
值得注意的问题:JSmooth提供了绑定JRE的功能,但并不是将JRE打包到exe文件中,而是指定JRE目录相对于exe文件的相对路径,需要将JRE目录和exe文件一起拷贝到客户机上运行。开始屡次实验不成功,都是由于没有将JRE目录拷过去的缘故。不过这也说明这种方式把jar转换为exe的局限性还是很大的。