通过Eclipse编写程序后,大家都希望像exe那样的程序一样来执行,而不是依赖编译来执行,因此,都会想到了把它打成jar包。一般都是用Eclipse来自动打包的吧,但有时打好的jar包,却无法正常运行而出现java.lang.NoClassDefFoundError的异常,令人郁闷至极。不要问我是怎么知道的,呜呜……
其实,生成jar是有那种情况的,一种是不带第三方jar包的,另一种就是带第三方jar包的。而之所以出现莫名的java.lang.NoClassDefFoundError异常,是因为你的工程中使用了第三方jar。
1.工程中不含第三方jar
这种情况,是比较简单的。直接用Eclipse来打包即可。在此,不做详细说明了,倘若真不会,面壁思过去吧(Java程序员不会不知道吧),再不行就去百度一下,你就知道啦。
2.工程中含有第三方jar
工程中含有第三方jar包时,需要给你的Eclipse装一个插件,复杂就会出现打好的jar抛出java.lang.NoClassDefFou
ndError异常。下载一个插件http://sourceforge.net/projects/fjep/,安装上即可。
把net.sf.fjep.fatjar_0.0.31.jar文件拷贝到你的eclipse目录下的plugins中..重新启动你的eclipse平台,然后查看Window---preferences,弹出的窗口中有Fat jar preferences这一项则说明你已经安装成功了,没有这一项则未安装成功,需要多做如下几步操作:到你的eclipse目录下的configuration---org.eclipse.update,并删除platform.xml文件,然后重新启动eclipse.查看Window---preferences,你会发现Fat jar,效果如下图:
接下来就可以生成包含第三方jar包的可运行的jar包了。
选中工程,右击 -- > Export --- > Other --- > Fat jar Exportor,效果如下图所示:
然后,next ---> 选中要生成jar包的工程 -- > next ---> 出现如下图所示的界面: