我有servlet执行以下操作:
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
request.getAttribute("username");
request.getAttribute("password");
String username = request.getParameter("username");
String password = request.getParameter("password");
LoginManager lm = new LoginManager(username.trim(), password.trim());
每当我到达最后一个tomcat apache“崩溃”时出现以下错误消息:
exception
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceException
servlets.LoginServlet.doPost(LoginServlet.java:20)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.ClassNotFoundException: javax.xml.rpc.ServiceException
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)
servlets.LoginServlet.doPost(LoginServlet.java:20)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
请帮助 谢谢!
在WEB-INF / lib文件夹中包含jaxrpc.jar时,出现以下错误:
根本原因
java.lang.NoClassDefFoundError: 组织/阿帕奇/轴/ AxisFault java.lang.ClassLoader.defineClass1(母语 方法) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 需要java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) java.lang.ClassLoader.defineClass1(母语 方法) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 需要java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) servlets.LoginServlet.doPost(LoginServlet.java:20) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
根本原因
抛出java.lang.ClassNotFoundException: org.apache.axis.AxisFault org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) java.lang.ClassLoader.defineClass1(母语 方法) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 需要java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) java.lang.ClassLoader.defineClass1(母语 方法) java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 需要java.lang.ClassLoader.defineClass(ClassLoader.java:616) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511) servlets.LoginServlet.doPost(LoginServlet.java:20) javax.servlet.http.HttpServlet.service(HttpServlet.java:641) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
答案 0 :(得分:3)
Tomcat版本和JDK / JRE版本会有所帮助。
看起来你的webapp缺少来自WEB-INF / lib的一些必需的jar;特别是jaxrpc jar。
答案 1 :(得分:1)
服务器告诉您缺少一个包含javax.xml.rpc.ServiceException
的库。
但是,您提供的代码似乎没有使用此类,因此我认为您的问题与您的Servlet无关。
答案 2 :(得分:0)
在我看来,就好像某个地方有一个Apache Axis依赖关系需要在应用程序的构建路径中解决。可能是,这是JAXRPC调用的错误处理。
答案 3 :(得分:0)
你获得第二个例外的原因:
java.lang.NoClassDefFoundError: 组织/阿帕奇/轴/ AxisFault
这是因为你已经包含了javax.xml.rpc.ServiceException
。我假设你正在使用Axis,否则你将无法获得AxisFault
。有些罐子不见了。
如果您希望AxisFault
消失,请将axis.jar
(假设您正在运行旧轴1)复制到WEB-INF/lib
文件夹。
答案 4 :(得分:-1)
java.lang.ClassNotFoundException:javax.xml.rpc.ServiceException 它说它找不到javax.xml.rpc jar。 请将依赖项添加到您的POM文件中。
<dependency>
<groupId> javax.xml.rpc </groupId>
<artifactId> javax.xml.rpc-api </artifactId>
<version> 1.1.1 </version>
</dependency>