启动tomcat时出错

时间:2016-08-17 00:25:14

标签: spring mybatis

我的项目是一个动态的Web项目,而不是maven项目。 它在启动tomcat时出错:

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/springmvc]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2499)
at java.lang.Class.getDeclaredFields(Class.java:1811)
at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:270)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:139)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:415)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:892)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5412)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more

我认为这是由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"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
version="3.0">  
<display-name>Archetype Created Web Application</display-name>  
<context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>file:WebContent/WEB-INF/spring-mybatis.xml</param-value>  
</context-param>  

<!-- Spring MVC servlet -->  
<servlet>  
    <servlet-name>SpringMVC</servlet-name>  
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <init-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>file:WebContent/WEB-INF/spring-mvc.xml</param-value>  
    </init-param>  
    <load-on-startup>1</load-on-startup>  
    <async-supported>true</async-supported>  
</servlet>  
<servlet-mapping>  
    <servlet-name>SpringMVC</servlet-name>  
    <url-pattern>/</url-pattern>  
</servlet-mapping>  
<listener>  
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
</listener>  
<listener>  
    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>  
</listener>
<filter>  
    <filter-name>encodingFilter</filter-name>  
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
    <async-supported>true</async-supported>  
    <init-param>  
        <param-name>encoding</param-name>  
        <param-value>UTF-8</param-value>  
    </init-param>  
</filter>  
<filter-mapping>  
    <filter-name>encodingFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>
<welcome-file-list>  
    <welcome-file>/index.jsp</welcome-file>  
</welcome-file-list>  

我之前用Google搜索过,大多数人都没有配置context-param和servlet,但是我已经配置了它们。我在lib中添加了jar文件。 这是我的文件结构:

-WEB-INF
--spring-mvc.xml
--spring-mybatis.xml
--web.xml

contextConfigLocation是否存在一些错误?我还尝试过/WEB-INF/spring-mybatis.xml,但它没有用。

2 个答案:

答案 0 :(得分:1)

推荐选项

  1. 使用Maven / Gradle项目在IDE中构建项目,让他们照顾您的依赖项。
  2. 当您使用spring框架时,建议使用Bill of Materials来避免ClassNotFound异常。
  3. Spring-boot非常受欢迎,如果您希望也可以选择该选项以避免XML配置。

答案 1 :(得分:0)

我认为你的任务是一些罐子要添加请确保你有以下罐子添加...根据spring-webmvc 3.1.2需要以下jar:我已经给出了相同的答案,所以请参考下面的jar < / p>

aopalliance-1.0.jar
commons-logging-1.1.1.jar
spring-webmvc-3.1.2.RELEASE.jar
spring-asm-3.1.2.RELEASE.jar
spring-beans-3.1.2.RELEASE.jar
spring-core-3.1.2.RELEASE.jar
spring-context-3.1.2.RELEASE.jar
spring-aop-3.1.2.RELEASE.jar
spring-expression-3.1.2.RELEASE.jar
spring-context-support-3.1.2.RELEASE.jar
spring-web-3.1.2.RELEASE.jar