1、exe4j

转为exe后,还是不能在没有jvm的机子上使用,只是合乎外我们的习惯而已

放的错误:把jar拷给别人

 exe文件使用方便,而且还可以提高源码及资源的安全性,但同时也失去了java的初衷--跨平台性.
如果你坚持要转换成exe文件,请按以下方式进行:
利用exe4j这个软件转换jar文件为exe文件,exe4j下载地址:http://www.ej-technologies.com/download/exe4j/files.html,(目前最新版本为4.2)有的需要安装,有的只要解压缩即可用.我一般用安装的exe4j软件,它们没有什么区别,因此找个可以用的就行了.下载安装后,运行它,接着按步骤操作:
1.运行后直接点Next.
2.选择第二项“JAR in EXE mode”,之后点击Next.
3.在General---Short name of your application框中输入你的应用程序的名字(随便即可),在Directories---Output directory框中输入生成exe后的保存路径,然后Next.
4.在Excutable name框中输入将要生成的exe的名字,“Icon File”是应用程序显示的小图标,不选也行.继续Next.
5.必须先配置Class-Path,点击+号添加文件,即jar文件,如果有用到其它资源需要把资源一起添加进去.
6.General --- Main Class选择主类.
7.Java Version --- Minimum version(低版本必须填写),Maximum version(高版本可以为空),如果都有填写那么高版本的值必须大于低版本的值.
8.勾选Allow JREs with a beta version number以及Only allow JDKs and no JREs.接着Next.到这一步你可以直接finish.这样就把jar转换成exe文件了.你可以点击Click Here to Start the Application按钮测试生成的文件.
到这里就完毕了,对你有没有帮助呢?我想多少解决一些人的烦恼是有的..
注:
配置MANIFEST.MF请看以下地址,为你们推荐一下..
http://www.java2000.net/p477 另推荐:
1:http://www.java2000.net/viewthread.jsp?tid=156
2:http://www.java2000.net/viewthread.jsp?tid=157


报错:老是找不到main class


原因:保存exe的盘满了,换了地方保存,就找到main class


报错:在Advanced Options中search sequence中删除其他列表,加入简化jre准备在没有jvm的自己上使用,完成后exe打不开


参考:


2、

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

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环境的虚拟机上可以成功运行。

 

自己测试:在没有JVM的机子上不能运行(在有JVM的机子中生成拷贝到那),但是提示要下载java,下载安装java后,能够运行exe



精简jre地址

http://ishare.iask.sina.com.cn/f/14091278.html

 

参考:http://yisufuyou.iteye.com/blog/403556