您的位置:首页 > 编程语言 > Java开发

使用jsmooth将jar文件转换成可在无java的环境中运行的exe文件

2018-04-05 15:16 253 查看
因为项目需要将jar文件转换成exe文件,并确保在无java的环境中也可以正常运行。在网上查了下发现jsmooth可以实现这个功能,但是根据网上的教程在无java环境中运行不了。最后终于发现问题出在哪一步了,在这里整理一下。 从eclipse中导出jar文件开始:1.导出为可执行的jar文件,如下图:


2.点击nexe后出现如下的界面,Export destination:中设置导出的jar文件的路径和名称,这里我把导出的jar文件放在桌面的blog文件夹中,生成的jar文件的名称叫做data.jar,注意:最好将现在生成的jar文件和接下来的需要的其他文件放在同一个文件夹中。




3.点击Finish后可能会出现如下的错误,别理它,点击ok就行了。



 4.eclipse中的操作完成了,因为要将由上面生成的jar文件转换生成的exe在无java的环境中运行,所以需要jre,jre就是自己的机器中安装java时下面的一个jre文件夹。下面是我的机器中java的安装目录,如下图:


5.将上面的jre文件夹拷贝中桌面中的blog文件夹中(第二步就是将由eclipse生成的jar文件放在桌面的blog文件夹中),现在桌面中blog文件夹的目录结果如下(icon.png是为生成的exe文件准备的图标):


 6.上面的准备工作做完了就可以打开jsmooth了,首先配置skeleton,选择windowd wrapper





7.接下来配置jvm参数,如下图,勾选JVM Bundle,然后在下面选择放置在桌面的jre。



8.再配置Executable,在Executable Binary输入将要将要生成的exe文件的路径和名称,在Executable icon中选择之前存放在blog中的图片,然后注意勾选下面的那个框。


9.接下来配置Application,勾选Use an embedded jar后选择我们需要转换的data.jar文件,再点击Application Settings中的Main class,弹出如下所示的对话框。如果只有Available Classes而没有我们data.jar中的包名,双击下Available Class就会出现下面的子文件夹(注意:org和weka是我的工程中的包名)。



10.接下来这一步可以说是最重要的,我们生成的exe文件能否在无java的环境运行就靠它了。点击Classpath右边的添加按钮,出现一个添加的对话框,然后选择我们放置在blog文件夹中的jre下的bin文件夹和lib文件夹下的所有jar文件。


11.选择完成后的配置界面如下,可能使用的jre不同,classpath下面中后缀为jar的文件有些不同,这个关系不大。



12.点击编译,如下图:接下来还会出现输出文件名的对话框,我把它命名为JsmoothFile,smooth,也将它放在blog文件夹下。



13.这是编译完后blog文件夹中的内容,多了两个文件,如图:



14.检查下我们对jre的配置是否成功,用文本编辑器打开(我用的是notepad++),如下图:如果出现了红线标示内的内容,就是在第11步中指定的classpath,那么就基本上成功了,如果没有下面的classpath,仔细检查下那步出了问题。

 15,下面将功能拷贝到没有java的环境中测试,我是在虚拟机中window 8中测试的,如下,在命令行中输入检查是否安装java的命令,显示没有安装java。




16,运行程序,能正常工作,搞定。




17,还有一点需要特别注意,就是那个data.exe运行时需要与jre文件夹放置在同一级目录中,根据相对路径的知识这点很容易理解,不能单独只拷贝data.exe就运行,那样在没有java的环境中可能运行不了。在没有java的环境中之所以能运行是因为我们自带了jre,就是同一级目录中的jre,并且在data.exe用相对路径指定了这个jre的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐