我试图实现缓存弹簧3.0
下面是相关的整合代码:
<bean id="cacheManager" class="net.sf.ehcache.CacheManager">
<constructor-arg index="0" type="java.net.URL" value="classpath:ehcache.xml"/>
</bean>
在应用程序context.xml文件
我有一个有效的ehcache.xml中的文件,但由于应用程序的炸弹就到达那里之前,它从来没有读过,我收到的错误是:
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 jar添加到WEB-INF / lib目录下。
如果您正在使用Maven比添加到您的pom.xml。
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.4.7</version>
</dependency>
如果你开始你的项目了日食,请检查您是否已经加入了Ehcache库“部署大会”名单。
打开项目的属性对话框 - >“部署大会”,并添加的lib那里。
心连心
看来你应该添加的Ehcache核心罐子到类路径...注意添加正确的版本,虽然。
编辑:
注意,ehcache
在artifactId
使用,而不是ehcache-core
。
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>1.6.1</version>
</dependency>
MVN运行后重新安装,确保正确的罐子驻留在你的本地库,它包含了正确的类。