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