解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题

用eclipse普通的打包方式,对含有第三方jar包的项目进行打包。调用方法后一只出现java.lang.NoClassDefFoundError问题。

从网上搜寻,很多都是在MANIFEST.MF文件中添加Class-Path: lib/jaxrpc.jar,试了下这种方式,也没能解决问题。

之后搜了下使用eclipse的插件fat jar进行打包,√ 问题解决。

1.首先下载好,将plugins文件夹中的文件拷到eclipse下的plugins文件夹中,重启eclipse。查看windows-preferences下,如果有个fat jar preferences就是安装成功了。

可能eclipse3.2及以下版本在项目上点右键会多一个+build fat jar 选项,3.2以上版本没有出现。

没关系,我们可以项目上点右键,点击export选项,在查询框搜一下就会出来了。

解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题

然后选中你要导出为jar包的项目next...

解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题

MANIFEST.MF文件格式要写正确,网上搜搜会有很多说明。

解决对含有第三方jar包的项目打包出现java.lang.NoClassDefFoundError问题

我是这么写的,没出现什么问题。":"后边有个空格,每行最后没有空格,Class-Path第二到N行,行首有2个空格,最后两行回车(没有空格)。

之后next-finish就OK了。

上一篇:maven打包含有多个main程序的jar包及运行方式


下一篇:linux常见的安装软件包命令