EHcache с Spring Configruation + JdbcTemplate - PullRequest
2 голосов
/ 18 января 2012

я пытаюсь реализовать кеш с пружиной 3.0

Вот код, который имеет отношение к интеграции:

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

В файле application-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)

Кто-нибудь имеет представление о том, что я делаю неправильно?

Ответы [ 3 ]

0 голосов
/ 18 января 2012

Пожалуйста, добавьте jar-файлы ehcache в каталог web-inf / lib.

Если вы используете Maven, добавьте это в ваш pom.xml.

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.4.7</version>
</dependency>
0 голосов
/ 18 января 2012

Если вы запускаете свой проект из затмения, проверьте, добавили ли вы библиотеку ehcache в список «Сборка развертывания».

Откройте диалоговое окно свойств вашего проекта -> «Сборка развертывания» и добавьте туда библиотеку.

чч

0 голосов
/ 18 января 2012

Похоже, вам следует добавить jar-файл ehcache-core в путь к классам ... Обратите внимание, чтобы добавить правильную версию.

EDIT:

обратите внимание, что ehcache используется в artifactId, а не ehcache-core.

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

После повторного запуска mvn install убедитесь, что нужный jar находится в вашем локальном репозитории и содержит правильный класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...