2016-08-17 6 views
0

내 프로젝트가 동적 웹 프로젝트이고, maven 프로젝트가 아닙니다. 나는이 web.xml에 의한 생각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 

, 코드 아래 :

<?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와 서블릿을 구성 해달라고 전에 검색 좀, 바람둥이을 startting 때 그것은 오류를 가져옵니다 하지만 난 그들을 구성했습니다. 그리고 lib에 jar 파일을 추가했습니다. ?이 일을하지 /WEB-INF/spring-mybatis.xml,but

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

이가 someting의 잘못이는 contextConfigLocation와 나는 또한이 시도됩니다 : 이 내 파일 구조입니다.

+0

classnotfounderror는 응용 프로그램 클래스 경로에서 누락 된 클래스로 인해 발생합니다. 필요한 모든 jar가 있으면 WEB-INF/lib를 확인하십시오. –

+0

@JorgeCampos 내 프로젝트의 WebApplicationContext는 spring-web-4.0.2.RELEASE.jar에 있는데, WEB-INF/lib와 build path에서 찾을 수있다. – user2853610

+0

이 작업을 시도해 볼 수 있습니다 ' /WEB-INF/spring-mvc.xml' – Sky

답변

1

권장 옵션

  1. Maven을 사용하여/Gradle을 프로젝트는 IDE에서 프로젝트를 구축하고 그들을 의존성을 돌볼 수 있도록합니다.
  2. 스프링 프레임 워크를 사용할 때 ClassNotFound 예외를 피하려면 항상 Bill of Materials을 사용하는 것이 좋습니다.
  3. Spring-boot은 매우 인기가 있습니다. 원하는 경우 XML 구성을 피할 수있는 옵션을 선택할 수도 있습니다. 나는 같은 대답이 이전 그래서를 참조 준 :
0

는 당신이 봄-webmvc 항아리 다음 3.1.2 필요에 따라 ... 추가 한 항아리 이하로되어 있는지 확인하시기 바랍니다 추가 할 일부 단지의 임무 생각 항아리 아래

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 
관련 문제