[spring] java.lang.ClassNotFoundException : org.springframework.web.context.ContextLoaderListener

나는 이것을 Build Path 에 포함시켰다 .

  • 모든 스프링 라이브러리
  • Apache Tomcat 7.0 라이브러리

시작하는 동안 프로젝트가 계속 실패합니다.

SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

에서을 (를 org.sprintframework.web-3.1.0.M1.jar) 볼 수 있습니다 org.springframework.web.context.ContextLoaderListener.

Google의 누군가 spring.jar가 포함해야 한다고 말하지만 spring.jar3.x 배포판 에는 표시되지 않습니다 .

이클립스 3.6.2
톰캣 7

편집 : Spring Forum (오프라인)의 누군가가 프로젝트 속성에서 “종속성 자동 업데이트”를 확인해야한다고 말했지만 프로젝트 속성에는 이와 같은 것이 보이지 않습니다.



답변

Eclipse 관리 Tomcat에서 스프링 웹 애플리케이션을 실행할 때 비슷한 문제가 발생했습니다. 프로젝트의 웹 배포 어셈블리에 maven 종속성을 추가 하여이 문제를 해결했습니다.

  1. 프로젝트 속성을여십시오 (예 : 프로젝트 탐색기에서 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 “속성”을 선택하십시오).
  2. “배치 어셈블리”를 선택하십시오.
  3. 오른쪽 여백에서 “추가 …”버튼을 클릭하십시오.
  4. 지시문 유형 메뉴에서 “Java 빌드 경로 항목”을 선택하고 “다음”을 클릭하십시오.
  5. Java 빌드 경로 항목 메뉴에서 “Maven Dependencies”를 선택하고 “Finish”를 클릭하십시오.

웹 배포 어셈블리 정의에 “Maven Dependencies”가 추가되어 있어야합니다.


답변

Eclipse WDT를 사용할 때 때때로 같은 일이 발생합니다. 이것이 수정되지 않고 이전에 작업 한 프로젝트에서 발생할 때 특히 실망 스럽습니다. 이것이 마지막 시나리오에서 해결하기 위해 수행 한 작업입니다.

  1. Tomcat 중지 (실행중인 경우)
  2. “서버”보기를여십시오. 창>보기 표시> 기타> 서버> 서버
  3. Tomcat 서버> Tomcat 작업 디렉토리 정리를 마우스 오른쪽 단추로 클릭하십시오.
  4. Tomcat 서버를 마우스 오른쪽 버튼으로 클릭> 청소
  5. 서버를 다시 시작하십시오

이것은 일반적으로 언급 한 문제를 해결합니다.


답변

“Clean Tomcat Work Directory”또는 “Clean ..”을 사용해보십시오. 이것은 모든 게시 된 상태를 버리고 처음부터 다시 게시해야합니다.


답변

IntelliJ IDEA를 사용했는데 컴파일이 성공했지만 Tomcat을 시작할 때 다음과 같이 말합니다.

Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

처음에는 JAR이 누락되었다고 생각했지만 제대로 작동했습니다.

솔루션 :
File > Project Structure > Artifacts, Output Layout오른쪽 패널에서 두 번 클릭하여 Available Elements이름이 같은 라이브러리 가 왼쪽 분할 창 Maven:...으로 이동합니다 WEB-INF/lib.

Tomcat을 승인하고 다시 시작하십시오.


답변

이것은 분명히 Eclipse 관련 문제입니다. 나를 위해 일한 것은 일식 서버 탭에서 새 서버를 만드는 것입니다. 그런 다음이 새 서버에서 응용 프로그램을 실행하면 작동합니다.


답변

최소한 3.2.8.RELEASE스프링 코어 버전을 사용해야 합니다.

Maven의 경우 다음을 설정하십시오 pom.xml.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.2.8.RELEASE</version>
</dependency>

출처 : http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cglib/core/SpringNamingPolicy.html , 3.2.8부터.


답변

위에서 언급 한 모든 것이 작동하지 않으면 다음을 시도하십시오. 그것은 나를 위해 일했다.

서버에서 프로젝트를 제거하고 서버 다시 시작> 서버에 프로젝트 추가> 서버 다시 시작을 클릭하십시오.

자세한 지시 사항 :

1. Right click on server > Add and Remove
2. Select your project > Remove > Finish
3. Restart your server
4. Right click on server > Add and Remove
5. Select your project > Add > Finish
6. Restart your server again.