java.lang.NoClassDefFoundError 您所在的位置:网站首页 java找不到包报错 java.lang.NoClassDefFoundError

java.lang.NoClassDefFoundError

2023-12-14 02:48| 来源: 网络整理| 查看: 265

问题

使用idea打包生成jar后,总是出现java.lang.NoClassDefFoundError或者Error Invalid or corrupt jarfile XXX.jar的问题。

若在idea中可以正常运行,而打包jar后却,出现此现象是因为MANIFEST.MF文件没有正确地打包进jar里面。验证此问题可直接将jar解压出来,查看./META-INF下的MANIFEST.MF内容是否符合当前项目所需要的依赖。 在这里插入图片描述 上图可以看到文件夹里并没有MANIFEST.MF,所以运行jar会出现Invalid or corrupt jarfile XXX.jar的问题。

虽然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 实验室设备网 版权所有