2012-01-18 2 views
2

내가 여기으로 Ehcache 봄 Configruation + JdbcTemplate와는

스프링 3.0 캐시를 구현하기 위해 노력하고있어는 통합에 관련된 코드입니다으로 : 응용 프로그램의 context.xml 파일에서

<bean id="cacheManager" class="net.sf.ehcache.CacheManager"> 
    <constructor-arg index="0" type="java.net.URL" value="classpath:ehcache.xml"/> 
</bean> 

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [net.sf.ehcache.CacheManager] for bean with name 'cacheManager' defined in ServletContext resource [/WEB-INF/spring/application-context.xml]; nested exception is java.lang.ClassNotFoundException: net.sf.ehcache.CacheManager 
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1208) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:568) 
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1277) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:302) 
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:805) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:762) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:680) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:556) 
... 30 more 
Caused by: java.lang.ClassNotFoundException: net.sf.ehcache.CacheManager 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) 
at org.springframework.util.ClassUtils.forName(ClassUtils.java:258) 
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1229) 
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1200) 
:

내가 유효한 ehcache.xml 파일이 있지만 거기 도착하기 전에 응용 프로그램의 폭탄 때문에 읽어 본 적이있어, 내가 받고있어 오류는 다음과 같다

누구나 내가 뭘 잘못하고 있는지 아이디어가 있습니까?

답변

0

클래스 경로에 ehcache-core jar를 추가해야합니다. 올바른 버전을 추가하는 것에 유의하십시오.

편집 : ehcacheartifactId하지 ehcache-core에 사용되는

참고.

<dependency> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache</artifactId> 
    <version>1.6.1</version> 
</dependency> 

mvn install을 다시 실행 한 후 올바른 jar가 로컬 저장소에 있고 올바른 클래스가 있는지 확인하십시오.

+0

으로 Ehcache 내 현재 버전 난 아직 난 내 응용 프로그램의 context.xml 파일을 게시해야 작동하지 BT는으로 Ehcache-1.6.1.jar를 추가 근래 불구하고 1.6.1입니다. 나는 내가 틀린 일을하고 있다고 생각한다. – Anurag

+0

applicationContext.xml을 게시하면 도움이 될 것 같지 않습니다. 내가 사용해야하는 정확한 의존성을 추가했다. 시도 해봐. – yair

0

ehcache jar를 web-inf/lib 디렉토리에 추가하십시오.

Maven을 사용하는 경우이 값을 pom.xml에 추가하는 것보다 큽니다.

+0

나는 내장 경로에 1.6.1 항아리를 추가했다. – Anurag

+0

@Anurag 귀하의 pom.xml 파일 내용은 무엇입니까? 그것은 종속성을 포함합니까? –

+0

@AravindA 그렇습니다, net.sf.ehcache 으로 Ehcache 코어 1.6.1 Anurag

0

eclipse에서 프로젝트를 시작한 경우 "배포 어셈블리"목록에 ehcache 라이브러리를 추가했는지 확인하십시오.

프로젝트의 속성 대화 상자 -> "배포 어셈블리"를 열고 거기에 lib를 추가하십시오.

HTH