Spring mvc找不到CacheInterceptor

时间:2018-01-27 09:33:33

标签: java spring spring-mvc caching

我在spring mvc框架中探索缓存。按照互联网上的指南herehere,我正在配置:

<?xml version='1.0' encoding='UTF-8' ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:cache="http://www.springframework.org/schema/cache"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
                http://www.springframework.org/schema/mvc
                http://www.springframework.org/schema/mvc/spring-mvc.xsd
                http://www.springframework.org/schema/cache
                http://www.springframework.org/schema/cache/spring-cache.xsd">
<cache:annotation-driven />
... other configuration are omitted....
</beans>

在添加缓存配置之前,我的网络应用程序正常运行,现在,我的网络应用程序以错误开始:

java.lang.NoClassDefFoundError: org/springframework/cache/interceptor/CacheInterceptor

不确定我做错了什么?

1 个答案:

答案 0 :(得分:0)

NoClassDefFoundError 只是当java无法找到另一个库使用的某个类时抛出的异常。

所有这些意味着当它被抛出时你只需要在类路径上获取它。您可以通过访问图书馆来确保它在那里 - &gt; maven依赖(如果你使用maven) - &gt;然后转到正在抛出的noclassdef的位置,在你的情况下它将在org / springframework / cache / interceptor / CacheInterceptor,这只是你知道为什么你得到这个错误,你现在不应该看到它。

至于如何解决这个问题,可能会因为三件事情而发生:

  1. 你的maven依赖关系不在部署程序集上(库在项目中,但不在服务器上),尽管如果是这样的话,春天可能根本不会工作。

  2. 您没有依赖项,请将其添加到pom.xml:

                org.springframework             春天上下文             4.1.4.RELEASE     

  3. 您有春天版本冲突,所有版本标签都相同。