使用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的位置。
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的位置。
相关文章推荐
- 使用jsmooth将jar文件转换成可在无java环境中运行的exe文件
- 使用jsmooth将jar文件转换成可在无java的环境中运行的exe文件
- Jar 打包 EXE文件,可以脱离java环境运行 Jsmooth的使用
- 使用JSmooth制造java jar文件可以运行exe文件教程图像
- 如何使用JSmooth软件将java文件打包发布成exe文件,在没有jre环境的机子上运行(亲测有用)
- [教程] Jsmooth打包Jar生成exe文件,实现不装Java环境运行
- java环境变量配置好后双击jar文件无法运行的解决办法
- 用JSmooth制作java jar文件的可运行exe文件教程【图文】
- 使用exe4j把jar转换成exe文件时,报错java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composite
- 使不能运行的JAR文件可以使用java -jar运行
- Jsmooth Java文件打包成exe文件(可以在没安装JDK的环境下运行)
- jar文件在无java环境的机器上运行
- Java程序导出成.jar文件、生成.exe可执行文件及打包成可执行安装程序(可在无Java环境的计算机上运行)--以个人所得税计算器为例
- 使用exe4j将jar包生可执行的.exe文件(加入jre依赖环境),可在其他机器上运行
- JAVA 打包后的jar包双击无法运行,以及转换成exe文件
- Jar 转 EXE 可以脱离 java 环境 jar to exe和Jsmooth 的使用
- 用JSmooth制作java jar文件的可运行exe文件教程【图文】
- 使用JSmooth将java程序转换成windows上的.exe文件(彻底解决相对目录问题)
- 使不能运行的JAR文件可以使用java -jar运行
- 用JSmooth制作java jar文件的可运行exe文件教程【图文】