Hello! 欢迎来到小浪资源网!


Java打包成JAR后出现NoClassDefFoundError: 如何解决?


Java打包成JAR后出现NoClassDefFoundError: 如何解决?

Java 打包可执行 jar 时遇到 noclassdeffounderror 异常

问题

在使用 gradle 将 java 项目打包成可执行 jar 时,出现了以下异常:

noclassdeffounderror: javax/xml/transform/e

该第三方 jar 包的结构如下:

立即学习Java免费学习笔记(深入)”;

javax └── xml     └── transform         ├── e         └── ..其他类...

idea 中运行代码时没有报错,但在打包为 jar 后并通过 java -jar test.jar 运行时遇到了错误。

分析与解答

错误提示表示找不到类 javax/xml/transform/e,而 jar 包中的路径应该是 javax.xml/transform/e。这可能是由于:

原因:jdk 版本不兼容

初始使用的 jdk20 版本中,java.xml.transform 包可能已经不再支持。

解决方案:

切换到 jdk1.8 版本,该版本仍支持 java.xml.transform 包。

相关阅读