`
yisufuyou
  • 浏览: 62692 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

Jar 转 EXE 可以脱离 java 环境 jar to exe和Jsmooth 的使用

阅读更多

Jar 转 EXE 可以脱离 java 环境 jar to exe和Jsmooth 的使用

 

 呵呵,把图全加上了

 

这篇文章是在Word中写的,本来每一步都有截图,不过在这插图太麻烦了,所以把Word放在附件中了,用到了两个软件也放在附件中了 

或者你可以到这看(有图):
 
http://student.csdn.net/space.php?uid=48560&do=blog&id=4173    


转帖请注明出处 
http://yisufuyou.iteye.com/admin/blogs/403556  

http://student.csdn.net/space.php?uid=48560&do=blog&id=4173                  

 

关于精简JRE我使用的是GreenJVM,也已经上传至附件中,需者自取。



     其实挺早之前就在想将Jar文件打包成EXE文件,不过一直没有实验,昨天上网查了一下,呵呵,其实也挺简单的。
如果只是想在本机上运行这个EXE那太简单不过了,只要Google一下“Jar exe”就可以搜到一大把的软件,比如JavaLaunch、Jar to exe(j2ewiz)等。我个人感觉后者比较简单。
       如果我们想生成的EXE文件可以在任何机器上运行,那就得另想它法。有一个开源软件可以达到我们的目的,就是Jsmooth。Jsmooth的原理很简单,既然是因为没有JRE而无法运行我们的程序,那我们就自己带一个JRE(Jar to exe好像也可以配置成自带JRE,不过我没试验)。不过JRE有近百兆,所以我找了一个精简的JRE,20MB,其实可以根据自己的程序需要精简JRE,不过这个问题比“Jar文件打包成EXE文件”更复杂,改天再说。




下面就详细讲一下J2ewiz 和jsmooth的用法:

一、j2ewiz使用方法:





操作步骤:
1、 双击j2ewiz.exe,出现软件注册窗口,点击下一步。


 
2、 选择待转换的Jar文件及最低Jvm版本。我选择了一个贪吃蛇小游戏的Jar文件,最低JRE为1.5。

 

3、 选择程序类型,我选择了Windows窗口程序。



4、 选择主启动类,我选择MySnakeFrame类。



5、 其他选项,我没选。



6、 选择其他依赖包,我没选。

7、 选择生成exe文件的文件名(路径)和图标。我放在桌面上的MySnake.exe,图标默认。

8、 生成完成,可以配置其他参数,我没配置,点完成。

9、 这就是我们的exe文件。
原来的jar文件为184 KB,
生成的EXE文件为 296 KB,还可以。

10、 看看能不能运行,哈哈,成功了!


11、 我们在没有Java环境的机器上试一试,我用的是虚拟机,没装java。结果可想而知,无法运行。



二、Jsmooth的使用方法:



操作步骤:
1、首先准备我们的资源,把要转换的Jar文件、精简过的JRE文件夹和想生成的EXE文件的图标(可以是png,jpg等格式,不想加图标可以不弄)放到同一个文件夹内。这一步一定要做,否则可以成功生成,但在没有java环境的机子上还是不能运行,因为他会找不到JRE文件夹的位置
2、双击jsmoothgen.exe,出现主界面。

3、点击骨架,我从骨架中选择Windows Wrapper(根据自己程序需要选择),即有图像界面的窗口程序,下面的消息为找不到JRE环境时显示的消息,URL为JRE的下载地址。

4、点击可执行文件,填写生成EXE文件的文件名(路径)和图标

5、点击应用程序,出现如下窗口:

可以选择“嵌入式Jar”,即将Jar文件嵌入到EXE文件里面,也可以在Classpath中加入Jar文件,不过这样生成的EXE文件里没有Jar文件,运行时需要从外部加载。
我们勾选“嵌入式Jar”,填写要转换的Jar文件路径。


然后点击“主类”后面的浏览按钮出现如下对话框:

从中选择主类,点Select按钮。
6、关键的一步:JVM选择.
点选捆绑在你应用中的JVM,点击浏览按钮,选择JRE目录


7、哈哈,现在可以点击工具栏上小齿轮编译了。
看看我们的EXE文件

8、这个程序在有java环境的机子上可以独立运行
在没有java环境的机子上只要该目录下有JRE文件夹(JRE环境)就可以运行。
9、我们测试一下,在没有java环境的虚拟机上可以成功运行。

 

28
1
分享到:
评论
11 楼 gogobobo0529 2013-04-16  
试了好多次 打包出来exe后执行的时候都是报错 = =
直接就是停止工作 然后就没有然后了
为什么捏

楼主这个09年的帖子还会回我么...
10 楼 noddle0592 2013-03-07  
不错,正好需要,谢啦
9 楼 yangxiutian 2012-12-15  
jsmooth被金山报病毒,被删了  怎么回事
8 楼 dxqrr 2012-03-28  
灰常感谢...
7 楼 liuwenjie 2011-12-13  
灰常感谢,这个东西太好了 正在搞
6 楼 dbaspider 2011-04-08  
好文。。。
5 楼 56553655 2010-09-08  
好东西,正需要呢,感谢
4 楼 yisufuyou 2010-09-05  
RangerWolf 写道
想问下博主你的精简JRE在哪找到的?
能不能发邮箱?workemail@126.com
非常感谢!

精简JRE已经放到附件里
3 楼 lym6520 2010-09-01  
我用着两个软件生成exe时,jsmooth打包的exe文件在执行打开文件的操作时异常了,而使用J2ewiz则不会,可以判断:

jsmooth对处理中文回出现乱码
J2ewiz处理正常
2 楼 ttion 2010-06-01  
正准备要这个东西。
1 楼 RangerWolf 2009-12-26  
想问下博主你的精简JRE在哪找到的?
能不能发邮箱?workemail@126.com
非常感谢!

相关推荐

Global site tag (gtag.js) - Google Analytics