Получение нечетного исключения java.lang.NoClassDefFoundError - PullRequest
0 голосов
/ 17 ноября 2011

Я получаю странное исключение при запуске моего веб-проекта Java.Кажется, что это «случайно» произошло после того, как я сохранил некоторые изменения в одном из моих 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)

Есть идеи, почему я вдруг столкнулся с этой ошибкой?

Ответы [ 4 ]

5 голосов
/ 17 ноября 2011
3 голосов
/ 17 ноября 2011

В дополнение к каждому ответу я хочу сказать несколько советов для java.lang.NoClassDefFoundError или java.lang.ClassNotFoundException:

  1. Сначала необходимо подтвердить свой путь к классу
  2. Вам нужночтобы обеспечить требуемые классы в %CONTEXT-ROOT%/WEB-INF/Classes(Servlet directory) или если зависимые классы доступны вам как JAR, тогда они находятся внутри %CONTEXT-ROOT%/WEB-INF/lib/xyz.jar.Помните, что контейнеру требуется доступ к этим классам во время выполнения!
0 голосов
/ 17 ноября 2011

Это потому, что вы не развертываете log4j jar.Это должно быть частью вашей войны, в WEB-INF/lib.

0 голосов
/ 17 ноября 2011

Похоже, ваш класс HubPortal не может найти класс Logger, сделайте его доступным как часть вашей веб-инфы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...