当前位置: 首页 > article >正文

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

因为项目需要将jar文件转换成exe文件,并确保在无java的环境中也可以正常运行。在网上查了下发现jsmooth可以实现这个功能,但是根据网上的教程在无java环境中运行不了。最后终于发现问题出在哪一步了,在这里整理一下。

 

从eclipse中导出jar文件开始:

1.导出为可执行的jar文件,如下图:

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

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

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

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

 

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

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

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


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

 

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

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

7.接下来配置jvm参数,如下图,勾选JVM Bundle,然后在下面选择放置在桌面的jre。
使用jsmooth将jar文件转换成可在无java的环境中运行的exe文件

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

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

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

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

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

11.选择完成后的配置界面如下,可能使用的jre不同,classpath下面中后缀为jar的文件有些不同,这个关系不大。
使用jsmooth将jar文件转换成可在无java的环境中运行的exe文件
12.点击编译,如下图:接下来还会出现输出文件名的对话框,我把它命名为JsmoothFile,smooth,也将它放在blog文件夹下。

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

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

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

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

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

 

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

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


16,运行程序,能正常工作,搞定。
使用jsmooth将jar文件转换成可在无java的环境中运行的exe文件


17,还有一点需要特别注意,就是那个data.exe运行时需要与jre文件夹放置在同一级目录中,根据相对路径的知识这点很容易理解,不能单独只拷贝data.exe就运行,那样在没有java的环境中可能运行不了。在没有java的环境中之所以能运行是因为我们自带了jre,就是同一级目录中的jre,并且在data.exe用相对路径指定了这个jre的位置。

http://www.lryc.cn/news/2413165.html

相关文章:

  • 禁漫排行榜周目公告版_华泰证券手机版下载-华泰证券涨乐财富通手机版下载V7.5.0安卓版...
  • 影音先锋云服务器,影音先锋云服务器
  • ——Diary5(Java面向对象2——多态,内部类)
  • 转载:一些射频相关的网站
  • Activity Monitor使用说明
  • Python调试器-Pdb的简介及调试命令
  • 跨时空的相遇~为她制作一个专属的QQ空间相册(附源代码)
  • 【BLOCK】Oracle 块管理常用SQL
  • 北京师范大学珠海分校论坛 http://www.bnubbs.net
  • Springboot计算机毕业设计乐途网站的设计与实现ck8f1
  • 从头到尾彻底理解KMP(2014年8月22日版)
  • 计算机论文投稿指南
  • 扫雷游戏C语言代码实现——万字长文超详细,手把手教你实现,新手也能学会
  • opencv学习篇(3)snake轮廓检测
  • 自学Java最简单快速的学习路线图,快速从入门到精通
  • winxp IIS安装,一看就明白!
  • 零基础Python速成学习计划(详细)
  • 英特尔MeeGo: Intel开放软件平台MeeGo 应用总数过万
  • Visual Studio图形调试器详细使用教程(基于DirectX11)
  • kali web渗透
  • uart、串口、COM口、USB口,ttl,rs232,rs485这几个是什么关系?
  • 证书和域名的关系?
  • 如何用asp.net制作网站
  • 创建属于你的SDK!
  • Ubuntu镜像换源地址
  • 电力-二次融合FTU技术规范
  • 使用C#抓取页面----GET方法,POST方法,抓取登录页面
  • python 初中课程_8年级将新增Python课程内容
  • 最新Xcode 4.5 Developer Preview. 开发预览
  • 学习日志7.28--VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议