2017-06-14 127 views
-1

我最近开始使用Spring,现在我在映射中遇到错误。我检查了其他的解决方案,但没有为我工作,一些解决方案正在讨论maven,但因为我不知道maven可以解决这个错误没有maven。这是我的web.xml:Spring web.xml映射错误

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 

    <display-name>FristSpringMvcProject</display-name> 


    <servlet> 
    <servlet-name>spring-dispatcher</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>spring-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
</web-app> 

我收到此错误:

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Error instantiating servlet class org.springframework.web.servlet.DispatcherServlet 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    java.lang.Thread.run(Unknown Source) 


root cause 

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
    org.springframework.web.servlet.DispatcherServlet.<clinit>(DispatcherServlet.java:273) 
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    java.lang.reflect.Constructor.newInstance(Unknown Source) 
    java.lang.Class.newInstance0(Unknown Source) 
    java.lang.Class.newInstance(Unknown Source) 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    java.lang.Thread.run(Unknown Source) 

回答

1

正如你可以在堆栈跟踪看到:java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory apache的commons-logging.jar在您calsspath失踪。下载并将其添加到您的类路径中。

如果您正在使用maven添加以下的依赖:

<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>1.2</version> 
</dependency> 
+0

它为我工作。谢谢 –