: 는 NoClassDefFoundError를 : 조직/아파치/평민/컬렉션 /지도/LRUMap는봄 + 최대 절전 모드 + 톰캣 종속성 문제
Invocation of init method failed; nested exception is
java.lang.NoClassDefFoundError:
org/apache/commons/collections/map/LRUMap
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
~[spring-beans-3.1.0.RELEASE.jar:3.1.0.RELEASE]
어떤 이상한 것은이다 나는 WEB-INF lib 폴더에 commons-collections-2.1.jar
(나는 3.1도 시도했다.)을 얻었다.
편집 : 을 WEB-INF/lib
에서 Tomcat lib
으로 복사했는데 작동하는 것 같습니다. 그러나 프로덕션 서버에서이 작업을 수행 할 수 없으며 내 WEB-INF/lib
버전을 사용하지 않는 이유는 무엇입니까?
클래스 로더 문제 일 수 있습니다. (Yuck!) 행운을 빌어 요! –
jar 파일이 tomcat/lib에서는 작동하지만 WEB-INF/lib에서는 작동하지 않는 경우 적절한 재시작이 필요할 수 있습니다. 오류는 ClassNotFound와 같지 않은 NoClassDefFound입니다. 위에서 언급했듯이 클래스 로더는 다른 버전의 jar 또는 클래스와 혼동을 일으킬 수 있습니다. 어쩌면 LRUMap도 바람둥이 병의 일부입니까? – wemu
org/apache/commons/collections/map/LRUMap을 사용하는 클래스는 Webapp 클래스 로더보다 계층 구조가 높은 클래스 로더에 의해로드됩니다. http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html을 참조하십시오. – Potejciak