私の春のwebapp(spring 3.1)でこのエラーが発生しています。エラーがなくなっているの下に、私はクラスでのアノテーション@Cacheable
コメント場合NoClassDefFoundError(スプリングキャッシュとアスペクト)
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: mypackage/TestCache$AjcClosure1
は
($AjcClosure1
は奇妙です)。
public class TestCache {
@Cacheable(value ="myCache")
public List<String> getDummyList(){
Logger l = Logger.getLogger(this.getClass());
l.error("calling getDummyList");
ArrayList<String> foo = new ArrayList<String>();
foo.add("foo");
foo.add("bar");
return foo;
}
}
マイコントローラクラス(簡体字):
@Controller
@RequestMapping("/mypage")
public class MyController {
@RequestMapping
public String index(ModelMap model, Locale locale) {
TestCache tc = new TestCache();
...
}
}
アプリケーション・コンテキスト(のみキャッシュ部):
<cache:annotation-driven mode="aspectj"/>
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager" p:cache-manager-ref="ehcache"/>
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" p:config-location="classpath:ehcache.xml"/>
をIは、(プロキシ・モードで以下のエラープロキシとAspectJのモードを試みたがキャッシュは何もしていませんでした)
このWebアプリケーションは最初にrooで構築され、spring mv cとwebflow。したがって、applicationContext.xmlまたはwebmvc-config.xmlにはかなりのXMLがあります(そして、いくつかのBeanが何をしているのか理解できません)。 は私がのM2e-WTPと日食にwepappsを実行しているとのpom.xmlは、プラグインAspectJの-のmaven-プラグインを使用している(それが何をするか全く分からない)
問題はAspectJのと関連しているように見えます、私はaspectJを使ったことはありません。 誰かがspring/java/aspectjの専門家が私にこのエラーを引き起こしていることを説明でき、私がどのようにキャッシュを動作させることができるかは素晴らしいと思います! (チュートリアルだけが見つかりましたが、キャッシュ可能な注釈を使用したサンプルプロジェクトは見つかりませんでした)。
ターゲットフォルダをリフレッシュしてください。http://stackoverflow.com/questions/16283268/how-to-deploy-generated-resources-to-tomcat-with-m2e-wtp – xmedeko