java.lang.NoClassDefFoundError: 无法初始化类 org.apache.axis.utils.XMLUtils

aks*_*hay 5 java tomcat

java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis.utils.XMLUtils
Run Code Online (Sandbox Code Playgroud)

我收到此错误。如何避免这种异常。请建议我一个解决方案。

Ama*_*ora 3

根据甲骨文的说法:

NoClassDefFoundError如果 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为普通方法调用的一部分或作为使用 new 表达式创建新实例的一部分)并且找不到该类的定义,则会抛出该异常。

用简单的语言来说,这意味着“在编译时class存在,但在运行时,它无法找到/加载问题class

:我的代码如何编译?

回答可能是因为您jars使用 Eclipse 添加。但 Eclipse 实际上并没有将这些转移jars给您classpath。它只是使用编译时引用的那些jars。所以你的代码编译得很好。
之后,您将项目移动到 tomcat,当它尝试在这些“jar”中加载某些类时,它找不到class,因为您从未将它们移动jars到类路径中。

解决方案:
将所有内容libraries(jars)移至项目的/WEB-INF/lib. 现在所有的libraries/jars下属/WEB-INF/lib都将归于下classpath

您可以阅读Oracle 文档本文的更多内容