Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
原因:java.lang.NoClassDefFoundError:org/springframework/cache/support/AbstractCacheManager_Spring_Maven_Ehcache - Fatal编程技术网

原因:java.lang.NoClassDefFoundError:org/springframework/cache/support/AbstractCacheManager

原因:java.lang.NoClassDefFoundError:org/springframework/cache/support/AbstractCacheManager,spring,maven,ehcache,Spring,Maven,Ehcache,大家好,我尝试将ehcache包含到我的spring项目中,并收到此错误 原因:java.lang.NoClassDefFoundError: org/springframework/cache/support/AbstractCacheManager位于 java.lang.ClassLoader.defineClass1(本机方法)位于 java.lang.ClassLoader.defineClass(ClassLoader.java:800)位于 security.SecureClass

大家好,我尝试将ehcache包含到我的spring项目中,并收到此错误

原因:java.lang.NoClassDefFoundError: org/springframework/cache/support/AbstractCacheManager位于 java.lang.ClassLoader.defineClass1(本机方法)位于 java.lang.ClassLoader.defineClass(ClassLoader.java:800)位于 security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449) java.net.URLClassLoader.access$100(URLClassLoader.java:71) java.net.URLClassLoader$1.run(URLClassLoader.java:361)位于 java.net.URLClassLoader$1.run(URLClassLoader.java:355)在 java.security.AccessController.doPrivileged(本机方法)位于 java.net.URLClassLoader.findClass(URLClassLoader.java:354)位于 org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1191) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) 位于java.lang.ClassLoader.defineClass1(本机方法) java.lang.ClassLoader.defineClass(ClassLoader.java:800)位于 security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449) java.net.URLClassLoader.access$100(URLClassLoader.java:71) java.net.URLClassLoader$1.run(URLClassLoader.java:361)位于 java.net.URLClassLoader$1.run(URLClassLoader.java:355)在 java.security.AccessController.doPrivileged(本机方法)位于 java.net.URLClassLoader.findClass(URLClassLoader.java:354)位于 org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1191) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) 位于org.springframework.util.ClassUtils.forName(ClassUtils.java:257) 在 org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1271) 在 org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1242) ... 37更多原因:java.lang.ClassNotFoundException: org.springframework.cache.support.AbstractCacheManager位于 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) ... 65多

这是我的ehcache bean

    <bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <property name="configLocation" value="classpath:config/ehcache.xml"/>
    <property name="shared" value="true"/>
    </bean>

    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
    <property name="cacheManager" ref="ehcache"/>
    </bean>

这是我的从属关系,在这种情况下可能有价值

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>3.2.13.RELEASE</version>
    </dependency>

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

org.springframework
弹簧芯
3.0.5.1发布
org.springframework
弹簧网
3.0.5.1发布
org.springframework
SpringWebMVC
3.0.5.1发布
org.springframework
spring上下文
3.0.5.1发布
org.springframework
spring上下文支持
3.2.13.释放
net.sf.ehcache
ehcache
2.7.4
我的依赖项/bean声明有什么问题?
我发现类AbstractCacheManager,但这是在非SpringMaven依赖项中

打开项目属性>部署程序集并添加maven依赖项。

类AbstractCacheManager不是spring 3.0.5版本的一部分

Maven central的第一个版本是3.1.0:

这一点得到了以下方面的证实:

自3.1版以来,Spring框架提供了透明的 正在将缓存添加到现有的Spring应用程序中


首先,缓存仅在Spring3.1中可用,您正在混合使用Spring版本(3.0和3.2)。我建议将所有版本移动到3.2.13.RELEASE,而不是混合(这总是一个非常糟糕的主意,并且会导致难以调试的问题)。