java - 出现奇怪的 java.lang.NoClassDefFoundError 异常

标签 java apache jsp exception

运行我的 java web 项目时遇到奇怪的异常。在我保存对 JSP 之一的一些更改后,这似乎是“随机”发生的。我不记得更改过任何设置。我以前从未在这个项目中遇到过类似的错误,之前找到 HubPortal 类没有问题。

这是完整的堆栈跟踪:

org.apache.jasper.JasperException: An exception occurred processing JSP page /hubmainpage.jsp at line 7

4: %>
5: <%
6: String responsepage = request.getParameter("show");
7: HubPortal hp = new HubPortal();
8: List processList = hp.getProcessList();
9: List clientList = hp.getClientList();
10: List transList = hp.getTransactionTypeList();


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
    org.apache.jsp.hubmainpage_jsp._jspService(hubmainpage_jsp.java:783)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    com.middleware.hts.HubPortal.<clinit>(HubPortal.java:23)
    org.apache.jsp.hubmainpage_jsp._jspService(hubmainpage_jsp.java:66)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

关于为什么我突然遇到这个错误有什么想法吗?

最佳答案

7: HubPortal hp = new HubPortal();

root cause 

java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    com.middleware.hts.HubPortal.<clinit>(HubPortal.java:23)

这意味着 log4j jar file webapp 的运行时类路径中缺少,而 HubPortal 需要它。类(class)。您需要将其放在与包含 HubPortal 的 JAR 文件相同的位置。类,例如 /WEB-INF/lib文件夹或其他任何地方 HubPortal类是。

关于java - 出现奇怪的 java.lang.NoClassDefFoundError 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158713/

相关文章:

java - 如何将spring与spring security 3.2.3集成

java - Ajax 调用 jsp 和 jsp 重定向到进一步的 jsp

java - 在托管服务器上测试时,请求调度程序页面未被重定向

java - 通过编译时检查获取类的方法对象(在 Java 中)

java - @Autowired、@Resource 和使用属性注入(inject)的 Spring 性能

android - 发送请求时删除的端口

apache - Sails.js 应用程序可以在 Apache 中运行吗

java - 如何将用户点击jsp页面的两个不同部分存储到mysql db中

java - JCL 通过 SLF4j 登录 Glassfish

java - mysql : Optimal way to do count(*) operation on a low cardinality column