这几天在一个即时通讯系统的打包上,吃尽了苦头,到现在才算解决,现在对遇到的问题进行分析总结。
1.一开始是在export "Runnable JAR file"的时候,弹出了这样的框,信息如下:
This operation repacks referenced libraries.
please review the licenses associated with libraries you wish to reference to make sure you are able to repack them using this application. Note also that this operation does not copy signature files from original libraries to the generated jar file.
查了很多资料都没有找到解决方法,很多人都说是引入的外部JAR包没有证书许可,但是我引了很多个,也不知道哪一个没有证书许可。不过最后还真给我蒙到了,原来是ojdbc6.jar这个数据库驱动包没有证书许可,网上又下了一个,这个问题解决。
导出了"Runnable个 JAR file"这个jar包,再在这jar包下放入项目所需的其它文件,即可运行程序。
2.利用"Runnable个 JAR file"导出jar包的方式,属于方法之一;还有一个方法是借助打包工具来打包,首先要导出“JAR file”,然后用exe4j(其它打包工具亦可)打包,教程网上很多了。这里需要了解"Runnable个 JAR file"和“JAR file”的区别,参见:
《eclipse 中的 jar file 和 runnable jar file的区别》:http://blog.csdn.net/lijiecong/article/details/6266234
3.export “JAR file”的时候还要注意,各种条件的选择,MANIFEST.MF文件的设定就是其中一个,关于这点,参见:
《java项目打jar包》:http://www.cnblogs.com/tianguook/archive/2012/03/14/2396335.html
4.exe4j使用注意点:
详见:《Java程序如何生成Jar、exe及安装文件》:http://blog.csdn.net/luoweifu/article/details/7628006
(1)注意如果JDK是64位的,记得选择“Generate 64-64bit executable”;
(2)如果有引入其它jar包,要在这里引入: