2014-12-05 2 views
3

이 오류를 얻을java.lang.NoClassDefFoundError가 : 조직/스프링 프레임 워크/웹/컨텍스트/ContextCleanupListener는 문제

SEVERE: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener 
java.lang.NoClassDefFoundError: org/springframework/web/context/ContextCleanupListener 
     at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:80) 
     at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5035) 
     at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5687) 
     at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
     at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1028) 
     at org.apache.catalina.startup.HostConfig.undeploy(HostConfig.java:1498) 
     at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1425) 
     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1646) 
     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:328) 
     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.ContainerBase.backgroundProcess(ContainerBase.java:1374) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1546) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1556) 
     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1524) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.ContextCleanupListener 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) 
     ... 16 more 
나는 그러나 내 배치 폴더에 보면

내가 파일, 내가 무엇임을 들어있는 항아리를 참조 잘못하고있는거야? 8080/spacechip 내가 얻을 :

https://github.com/davidahines/spacechip/tree/spring_security

문제는 내가 로컬 호스트로 이동하려고 할 때이다 "리소스를 사용할 수 없습니다."

제 구성이 있습니다.

답변

1

jar가 배포 된 폴더에있을 수 있지만 CLASSPATH에 jar (또는 와일드 카드가있는 배포 된 폴더)가 있습니까? 스프링 웹의

+0

나는 그것을 어떻게 체크 할 것인가? 환경 변수 또는 다른 것을 의미합니까? 나는 창문에있다. – davidahines

+0

해당 질문에 대한 대답은 프로그램 실행 방법에 따라 다릅니다. 명령 줄에서 CLASSPATH 환경 변수 (CLASSPATH = ... 설정 등)에 추가하거나 java.exe에 -cp 명령 행 스위치를 사용할 수 있습니다. 내 컴퓨터 -> 등록 정보의 CLASSPATH에 추가 할 수도 있습니다. 서버 (웹 서버 또는 그와 같은 서버)에서 실행중인 경우 위에 언급 된 내용 중 어느 것도 적용되지 않을 수 있으므로 설명서를 참조해야합니다. 예를 들어, Lotus Domino에서는 명시 적 클래스 경로가 없기 때문에 \ Notes \ JVM \ Lib \ Ext에 jar 파일이 있어야합니다. – Duston

+0

결론은 Java가 암시 적으로 어디에도 보이지 않는다는 것입니다 (현재 하위 디렉토리조차도 아닙니다.) Jar 파일 용. CLASSPATH가 확인되면 (그리고 그러나) 설정됩니다. – Duston

2

시도 변화 의존성이 치어에 3.0.5.RELEASE하려면 현재 클래스 패스에 2 버전이있다

EnvironmentAware은 스프링 상황 3.1.1.RELEASE에 위치한
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>3.0.5.RELEASE</version> 
</dependency> 
0

.jar, 그래서 당신은 그것을 놓치고 있습니다.

spring-web, spring-webmvc (발견되면 DispatcherServlet 클래스 이후에 가질 수도 있음), ORM을 사용하는 경우 spring-orm과 같은 다른 Spring 라이브러리가 누락되지 않도록 Maven POM 파일을 다시 확인하십시오. JMS를 사용할 경우 Spring-Jms 등

관련 문제