Search Results for 'ContextLoaderListener'

1 POSTS

  1. 2013.06.19 Spring + WAS 기동시 ContextLoaderListener ClassNotFoundException 1
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:1714)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
 at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
 at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
 at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

 

 

eclipse에서 Tomcat 연동해서 실행을 시키는데, 멀쩡하던 프로젝트가 위와 같은 오류를 뱉어버리고는 구동되지 않는 현상이 발생합니다. 특히 maven plugin을 사용하는 프로젝트는 이런상황이 되면 더이상 진행 불가합니다.

 

천천히 오류메시지를 읽어내려가다 보면 기본 Spring 관련 ContextLoaderListener가 없다고 나옵니다. 뭔가 관련 클래스가 없는것이 확실합니다. 아니면 톰캣이 인식하지 못하고 있던가...

 

다음의 항목을 일단 체크해봅니다.

 

Project Explorer ==> 마우스 오른쪽 클릭 ==> Properties or Alt + Enter ==> Deployment Assembly

 

 

 

뭔가 있어야 할 위치에 있어야 할것이 없는것 같습니다. 뭐지? 잘 기억이 나지 않는다면 정상적으로 로딩되는 다른 유사한 프로젝트를 열어보십시오.

 

Maven Dependency 가 존재하지 않는다는 차이점을 발견할 것입니다. 왜 없어졌는지는 나중에 살펴보기로 하겠습니다.

 

 

 

Java Build Path Entiries 를 선택하고 NEXT 를 클릭합니다.

 

 

 

Maven Dependencies를 선택하고 Finish 를 클릭하면 완료가 됩니다.

 

 

 

이전에 없던 부분이 추가되었습니다.

 

이제 확인을 하고 다시 톰캣을 구동시켜보면 오류가 없어지고 정상적으로 로딩이 됨을 볼수 있습니다.

 

마찬가지로 다른 jar 관련 부분도 이런방식으로 추가합니다.

프로젝트별로 svn 구성을 다르게 하기도 하고 또 maven을 사용하지 않고 jar파일을 별도의 디렉토리에 넣어서 관리하곤 합니다. 이런경우에도 해당 디렉토리를  WEB-INF/lib 로 연결시켜주면 통캣이 로딩하면서 해당 jar를 인식하게 됩니다.