ehCache и Spring MVC Ошибка с HIbernate - PullRequest
0 голосов
/ 26 марта 2011

Я получаю эту ошибку при настройке ehcache в Spring MVC.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.googlecode.ehcache.annotations.config.internalEhCacheEvictionTask': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.ehcache.CacheManager.getName()Ljava/lang/String;

Ниже приведены мои настройки, и я использую hibernate 3.2.7.GA

<ehcache:config cache-manager="ehCacheManager">
    <ehcache:evict-expired-elements interval="60" />
</ehcache:config>

<beans:bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <beans:property name="configLocation"  value="/WEB-INF/spring/ehcache.xml"/>
</beans:bean>

Pom.xml

<dependency>
          <groupId>com.googlecode.ehcache-spring-annotations</groupId>
          <artifactId>ehcache-spring-annotations</artifactId>
          <version>1.1.3</version>
        </dependency>
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.3.2</version>
        </dependency>
        <dependency>
           <groupId>net.sf.ehcache</groupId>
           <artifactId>ehcache</artifactId>
           <version>2.3.2</version>
           <type>pom</type>
       </dependency>
    </dependencies>
    <repositories>
          <repository>
            <id>terracotta-releases</id>
            <url>http://www.terracotta.org/download/reflector/releases</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>

Ответы [ 2 ]

2 голосов
/ 26 марта 2011

ZIP-файл ehcache-spring-annotations с зависимостями, загруженный на веб-сайте проекта, содержит версию 2.2.0 для ehcache-core. Вы используете 2.3.2. Может быть несовместимость между этими версиями.

1 голос
/ 26 марта 2011

Получилось с помощью исключения, так что да, возникла проблема с конфликтом.

   <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-commons-annotations</artifactId>
                <version>${org.hibernate.commons.annotations-version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>net.sf.ehcache</groupId>
                        <artifactId>ehcache</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
...