
Java 打包成 jar 后出现 NoClassDefFoundError
在 Java 中,使用 Gradle 将项目打包成可执行 jar 有时会遇到 NoClassDefFoundError 异常。此错误通常表示 class 文件的路径不正确或缺少 class 文件。
具体来说,在引入第三方 jar 包后,如果 jar 内的 class 路径与实际的不同,就会引发此错误。如问题中提到的,项目中导入了 javax/xml/transform/e 类,但在 jar 包中实际存放的路径却为 javax.xml/transform/e。因此打包后运行 jar,就会出现 NoClassDefFoundError。
对于此类问题,解决方案如下:
立即学习“Java免费学习笔记(深入)”;
JDK 版本
问题中提到的原因表明,高版本的 JDK 可能会不支持特定的 Java 包。切换到较低版本的 JDK,例如 JDK 1.8,可以解决问题。










