2016-08-17 14 views
0

私のプロジェクトは、mavenプロジェクトではなく、動的なWebプロジェクトです。 Tomcatをstarttingとき これは、エラーを取得します。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ファイルによって引き起こされていると思い、以下のコード:私は前にGoogleで検索している

<?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> 

を、それらのほとんどは、コンテキストのparamおよびサーブレットを設定していけません、私はそれらを設定しました。そしてlibにjarファイルを追加しました。 これは私のファイル構造である:?

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

はcontextConfigLocationとそこにいろいろ書いの悪事私も試した/WEB-INF/spring-mybatis.xml,butそれは働いていないです。

+0

classnotfounderrorは、アプリケーションのクラスパス上で欠落しているクラスが原因です。必要なすべてのjarファイルがあればWEB-INF/libをチェックしてください。 –

+0

@JorgeCampos私のプロジェクトでは、WebApplicationContextはspring-web-4.0.2.RELEASE.jarにあり、私はWEB-INF/libとbuildパスで見つけることができます。 – user2853610

+0

これは、 ' /WEB-INF/spring-mvc.xml' – Sky

答えて

1

の推奨オプション

  1. 利用のMaven/Gradleのプロジェクトは、あなたのIDEでプロジェクトを構築し、それらをあなたの依存関係の世話をするようにします。
  2. Springフレームワークを使用している場合、ClassNotFound例外を回避するには、常にBill of Materialsを使用することをお勧めします。
  3. Spring-bootは、XML設定を避けるためにそのオプションも選択できたら大変人気があります。
0

私は、いくつかの瓶を追加する必要があると思います。次の瓶が追加されていることを確認してください... spring-webmvc 3.1.2によると、次のようにjarを必要とします。 jar以下

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 
関連する問題