将 jdom 添加到 servlet 后出现 NoClassDefFound 错误
NoClassDefFound Error after adding jdom to servlet
我已将 jdom jar 添加到我的 Servlet (BuildPath > Configure Buildpath > Add External Jar
)。由于我的 Servlet 不再工作,我收到以下错误:
java.lang.NoClassDefFoundError: org/apache/jsp/selection_jsp (wrong name: org/apache/jsp/Selection_jsp)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
java.net.URLClassLoader.defineClass(Unknown Source)
java.net.URLClassLoader.access0(Unknown Source)
java.net.URLClassLoader.run(Unknown Source)
java.net.URLClassLoader.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
解决方案:
将 jdom jar 添加到 WEB-INF/lib 并从构建路径中删除了 jar。
解决方案非常简单:
- 重新部署应用程序。
如果不行,
- 清除AS缓存;
- 重启AS。
这应该是(某种程度上)缓存问题。
我已将 jdom jar 添加到我的 Servlet (BuildPath > Configure Buildpath > Add External Jar
)。由于我的 Servlet 不再工作,我收到以下错误:
java.lang.NoClassDefFoundError: org/apache/jsp/selection_jsp (wrong name: org/apache/jsp/Selection_jsp)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
java.net.URLClassLoader.defineClass(Unknown Source)
java.net.URLClassLoader.access0(Unknown Source)
java.net.URLClassLoader.run(Unknown Source)
java.net.URLClassLoader.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
解决方案:
将 jdom jar 添加到 WEB-INF/lib 并从构建路径中删除了 jar。
解决方案非常简单:
- 重新部署应用程序。
如果不行,
- 清除AS缓存;
- 重启AS。
这应该是(某种程度上)缓存问题。