[SPRING] Tomcat & Spring Web - 클래스를 찾을 수 없음 예외 org.springframework.web.context.ContextLoaderListener
SPRINGTomcat & Spring Web - 클래스를 찾을 수 없음 예외 org.springframework.web.context.ContextLoaderListener
Eclipse를 통해 Tomcat을 시작하려고 할 때 다음 예외가 발생합니다 (프로젝트에서 마우스 오른쪽 단추를 클릭하여 실행 - 서버에서 실행).
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 12, 2011 8:46:11 PM org.apache.catalina.core.StandardContext listenerStart
Maven (m2eclipse)을 사용하여 프로젝트를 빌드하고 있습니다. Spring 라이브러리에 필요한 의존성을 추가했고, 마지막 artifact (클래스를 포함하고있다)의 lib 디렉토리에있는 spring-web.jar 파일을 볼 수있다. IDE 외부에서 응용 프로그램을 배포하면 제대로 작동합니다.
왜 이런 일이 일어날 지에 대한 어떤 조언도 높게 평가 될 것입니다.
해결법
-
==============================
1.며칠 전 이클립스 인디고 (Eclipse Indigo)에서 m2eclipse (WTP 통합없이 m2eclipse-extras를 통해 추가 가능)를 사용하여 동일한 문제에 직면했습니다. 필자는 Maven 웹 모듈을 만들고 동적 웹 모듈 패싯을 수동으로 추가했습니다. Eclipse WST Tomcat Server에 배포했을 때 프로젝트가 게시 될 때 Maven 종속성이 서버로 푸시되지 않는 것으로 보입니다.
며칠 전 이클립스 인디고 (Eclipse Indigo)에서 m2eclipse (WTP 통합없이 m2eclipse-extras를 통해 추가 가능)를 사용하여 동일한 문제에 직면했습니다. 필자는 Maven 웹 모듈을 만들고 동적 웹 모듈 패싯을 수동으로 추가했습니다. Eclipse WST Tomcat Server에 배포했을 때 프로젝트가 게시 될 때 Maven 종속성이 서버로 푸시되지 않는 것으로 보입니다.
해결책은 간단했습니다. 프로젝트 탐색기에서 웹 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택하십시오. 프로젝트 속성에서 '배포 어셈블리'를 선택하십시오.
전개 어셈블리 특성 페이지는 Eclipse에서 서버로 어셈블 된 아티팩트로 공개 될 컨텐츠를 표시합니다. Eclipse에 모든 Maven 종속성이 게시되도록 지정해야합니다.
그렇게하려면 '추가'버튼을 클릭 한 다음 'Java 빌드 경로 항목'을 선택하십시오. 다음을 클릭하고 메이븐 종속성을 선택하십시오. Eclipse가 프로젝트를 WST 서버에 공개 할 때 Maven 종속성 JAR 파일을 lib 폴더에 게시합니다.
이 접근 방식은 나를 위해 일했습니다.
-
==============================
2.서버 배치를 위해 이클립스가 war 파일에 넣을 것을 알려주는 가장 쉬운 방법은 오른쪽 클릭 -> 내보내기 -> WAR 파일을 수행하는 것이다. 그러면 압축을 풀고 안에 무엇이 있는지 볼 수 있습니다.
서버 배치를 위해 이클립스가 war 파일에 넣을 것을 알려주는 가장 쉬운 방법은 오른쪽 클릭 -> 내보내기 -> WAR 파일을 수행하는 것이다. 그러면 압축을 풀고 안에 무엇이 있는지 볼 수 있습니다.
".settings / org.eclipse.wst.common.component"를 열면 웹 도구 webapp의 정의가 표시되고 다음과 같이 표시됩니다.
<project-modules id="moduleCoreId" project-version="1.5.0"> <wb-module deploy-name="MyApp"> <wb-resource deploy-path="/" source-path="/src/main/webapp"/> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/> <property name="java-output-path" value="target/classes"/> <property name="context-root" value="MyApp"/> </wb-module> </project-modules>
Eclipse의 빌드 경로에서 라이브러리에 "Maven Dependencies"가 나타나는지 확인하십시오. m2eclipse 플러그인과 WST의 마지막 버전은 자동으로 Maven 종속성을 선택하여 war 파일 내부의 WEB-INF / lib에 놓아야합니다.
마지막으로 SpringSource Tool Suite (STS)의 최신 복사본을 가져 오는 것이 좋습니다. STS에는 최신 m2eclipse 및 WST 번들을 포함하여 여러 가지 유용한 기능이 있습니다. Tomcat (또는 해당 Tomcat 버전)과 함께 계속 사용할 수 있으며 신속하게 작동하는 Webapp를 얻을 수있는 원형 및 자습서가 있습니다.
즐겨!
-
==============================
3.이 파일들을 추가하십시오 (어느 릴리즈를 사용하든간에).
이 파일들을 추가하십시오 (어느 릴리즈를 사용하든간에).
apache-tomcat-8.0.35\lib
폴더 (및 서버를 다시 시작) :
spring-aop-4.0.1.RELEASE.jar spring-beans-4.0.1.RELEASE.jar spring-context-4.0.1.RELEASE.jar spring-core-4.0.1.RELEASE.jar spring-expression-4.0.1.RELEASE.jar spring-web-4.0.1.RELEASE.jar spring-webmvc-4.0.1.RELEASE.jar
from https://stackoverflow.com/questions/6322711/tomcat-spring-web-class-not-found-exception-org-springframework-web-context by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 3 표현식 언어는 부동산 자리 표시 자와 어떻게 상호 작용합니까? (0) | 2018.12.29 |
---|---|
[SPRING] Spring 부트가없는 Spring Cloud 구성 클라이언트 (0) | 2018.12.29 |
[SPRING] Spring MVC / Spring Boot를 사용하여 적절한 전역 오류 처리기를 작성하는 방법 (0) | 2018.12.29 |
[SPRING] Spring 3.2 순수 Java 구성을 사용하는 @value 주석이 작동하지 않지만 Environment.getProperty가 작동 함 (0) | 2018.12.29 |
[SPRING] 종속성에 대해 일치하는 유형의 일치하는 bean이 없습니다. (0) | 2018.12.29 |