点击 jsp 时出现 java.lang.NoClassDefFoundError

标签 java jsp tomcat

我有代码,其中我有一个名为:

package com.test.core.it;

仅此包内的所有类。有一个 .jsp文件,其中有这行代码:

test.executeAllTestCase();

testTestA 的实例在包装中 com.test.core.it . executeAllTestCase有这样的行:

TestB.getInstance()

TestB也在同一个包中。

我构建了 war 并部署到 tomcat。当点击 url 时:

http://localhost:8080

jsp正在被调用,这让我抛出了异常:

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class com.test.core.it.TestB
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)

我不确定,我在哪里犯了错误。

编辑

我可以看到类已加载到 WEB-INF 中-> classes -> <package wise directory> -> TestA.class, TestB.class

最佳答案

可能是类 TestB 静态初始化期间的异常。
第一次。当 java 加载一个类时,会执行静态初始化程序。如果你有一个异常,java 将不会再次尝试加载类定义,而是抛出一个 NoClassDefFoundError。所以也许在第一个 NoClassDefFoundError 之前有一个疏忽异常

关于点击 jsp 时出现 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27565366/

相关文章:

java - 扭曲的垃圾箱包装?

jsp - 结合 UNDERSCORE.JS 和 JSP

java - 英镑符号(£ 或 ₤)等字符的 URI 编码问题

postgresql - 使用 Dockerfile 运行带有 PostgreSql 的 Tomcat

apache - 集群环境中的故障​​转移不适用于 JSF 2、Richfaces 4、Tomcat 7

java - Tomcat不返回图片资源

java - Vim 编辑器很聪明吗?

java - 使用 for 每个循环来打印对象

java - Spring MVC 和 Hibernate 集成在 intellij 中给出异常

java - Spring MVC。渲染布局