原!!jar包 --可执行exe文件--安装包

这几天由于部门统计名单,都是一边报,一边统计,感觉麻烦,写了个小工具,做成安装包。其他不多说,网上都有,我就自己按照网上操作,碰到了一些问题,对这些问题说下。

----------废话少说-----------------

注意!!eclipse java compiler版本和安装的JDK版本,以及后面制作可执行文件和安装包时放入的jre版本最好要保持一致,否则可能会出现问题。

1.将在eclipse写好的程序,导出为Runnable Jar File。

(关于导出jar包和可执行jar区别网上都有)

Extract required libraries into generated JAR 和 package equired libraries into generated JAR。 前者是把你用到的.class 文件提取出来,后者则是把你所需要的所有jar包都打进一个包里。

题外话------如果不做可执行文件和安装包,直接这样也行:

 点击运行.bat 文件内容:start jre7/bin/javaw -jar TrafficMoneyCount.jar

2.用exe4j把jar包做成exe可执行文件

 参照教程:http://blog.csdn.net/cyb_23/article/details/40341857

注意1!! 由于我的系统是64bit,但是由于直接按照上面教程做,所以最后面出错了,报错 NO JVM could be found on your system异常

解决方法:http://blog.csdn.net/landlord921/article/details/37600721

 (如果你的电脑系统是64位的,则要点击Advanced Options 菜单下面的 32 -bit or 64 - bit  ,然后继续Next.)

注意2!! 做出来生成 exe 可执行文件时,点击打开,报错java.lang.NoClassDefFoundError: org/eclipse/xxxx/xxxxx/xxxxx

原因以及解决方法:http://blog.csdn.net/jia611/article/details/42060945

如果你eclipse export时选择 Package required libraries into generated jar(我就是这个)

在exe4j中就要选 org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader作为main class (注意这是exe4j里的设置,eclipse导出时还是选你原来的main class)

如果你export时选择 Copy required libraries into a sub-folder next to the generated jar
要在exe4j, java invocation中将所有jar添加入class path,这时可以选原来程序里的main class)

避免这两个错误,一般做出来应该没问题了。。。。

3.将生成的exe可执行文件做成安装包(需要jre一起)。

我用的是Inno Setup 5这个软件。

步骤参考如下:

https://my.oschina.net/Tsybius2014/blog/739563

原文地址:https://www.cnblogs.com/wuyun-blog/p/6164854.html