使用基于代码的配置获取java.lang.NoSuchMethodException:org.apache.catalina.deploy.WebXml addServlet

使用基于代码的配置获取java.lang.NoSuchMethodException:org.apache.catalina.deploy.WebXml addServlet

问题描述:

仅使用基于代码的配置无法启动Spring Web App。获取错误:使用基于代码的配置获取java.lang.NoSuchMethodException:org.apache.catalina.deploy.WebXml addServlet

INFO: validateJarFile(C:\Users\user1\Idea13 Projects\WebApp\target\WebApp-1.0-SNAPSHOT\WEB-INF\lib\javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class 
org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO: validateJarFile(C:\Users\user1\Idea13 Projects\WebApp\target\WebApp-1.0-SNAPSHOT\WEB-INF\lib\tomcat-el-api-7.0.47.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class 
org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO: validateJarFile(C:\Users\user1\Idea13 Projects\WebApp\target\WebApp-1.0-SNAPSHOT\WEB-INF\lib\tomcat-embed-core-7.0.47.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class 
org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO: validateJarFile(C:\Users\user1\Idea13 Projects\WebApp\target\WebApp-1.0-SNAPSHOT\WEB-INF\lib\tomcat-servlet-api-7.0.47.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class 
org.apache.tomcat.util.digester.Digester endElement 
SEVERE: End event threw exception 
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet 
......... 
org.apache.catalina.startup.ContextConfig parseWebXml 
SEVERE: Parse error in application web.xml file at file:/C:/Users/user1/.IntelliJIdea13/system/tomcat/Unnamed_WebApp/conf/web.xml 
org.xml.sax.SAXParseException; systemId: file:/C:/Users/user1/.IntelliJIdea13/system/tomcat/Unnamed_WebApp/conf/web.xml; lineNumber: 104; columnNumber: 13; Error at (104, 13) : org.apache.catalina.deploy.WebXml addServlet 
... 
Caused by: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet 
org.apache.catalina.startup.ContextConfig parseWebXml 
SEVERE: Occurred at line 104 column 13 
org.apache.catalina.deploy.WebXml setVersion 
WARNING: Unknown version string [3.1]. Default version will be used. 
org.apache.catalina.startup.ContextConfig configureStart 
SEVERE: Marking this application unavailable due to previous error(s) 
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error getConfigured 
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [] startup failed due to previous errors 

据我所知,它指向web.xml,但我不使用它。如何解决它?

UPDATE:

我删除了从部署路径catalina*后我得到:

SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.ClassCastException: org.apache.catalina.core.DefaultInstanceManager cannot be cast to org.apache.tomcat.InstanceManager] with root cause 
java.lang.ClassCastException: org.apache.catalina.core.DefaultInstanceManager cannot be cast to org.apache.tomcat.InstanceManager 

解决

+0

如果问题解决了,你为什么不接受回答? – naXa 2015-03-19 11:24:16

SEVERE: Parse error in application web.xml file at file:/C:/Users/user1/.IntelliJIdea13/system/tomcat/Unnamed_WebApp/conf/web.xml org.xml.sax.SAXParseException; systemId: file:/C:/Users/user1/.IntelliJIdea13/system/tomcat/Unnamed_WebApp/conf/web.xml; lineNumber: 104; columnNumber: 13; Error at (104, 13) : org.apache.catalina.deploy.WebXml addServlet Caused by: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet

转到您的WEB-INf/lib和删除catalina.*.jar,然后重新启动你的tomcat。 或柜面Maven项目的提到它的范围为provided

<scope>provided</scope> 

注:该解决方案是通用的,请发表您的web.xml如果问题perists

+0

这不起作用。我没有'web.xml' – 2014-11-24 10:30:49