java.lang.NoClassDefFoundError | 您所在的位置:网站首页 › java找不到包报错 › java.lang.NoClassDefFoundError |
问题
使用idea打包生成jar后,总是出现java.lang.NoClassDefFoundError或者Error Invalid or corrupt jarfile XXX.jar的问题。 若在idea中可以正常运行,而打包jar后却,出现此现象是因为MANIFEST.MF文件没有正确地打包进jar里面。验证此问题可直接将jar解压出来,查看./META-INF下的MANIFEST.MF内容是否符合当前项目所需要的依赖。 虽然idea显示使用该目录下的MANIFEST.MF,该目录也存在该文件,但是idea打包第三方jar时,默认使用target文件下的内容直接打包,原因未知。 当target目录下不存在MANIFEST.MF,打包出来的也不存在,所以需要手动将E:\Java-workspace\TestJar\src\main\java\META-INF\MANIFEST.MF复制到target/classes/META-INF/下。若存在MANIFEST.MF,与预期不符,也需要将预期的MANIFEST.MF覆盖原有的MANIFEST.MF。 |
CopyRight 2018-2019 实验室设备网 版权所有 |