Я получаю эту ошибку в моем весеннем webapp (весна 3.1), и я не знаю почему.NoClassDefFoundError с весенним кешем и аспектом
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: mypackage/TestCache$AjcClosure1
($AjcClosure1
странно)
Если я комментирую аннотацию @Cacheable
в классе ниже исчезает ошибка.
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();
...
}
}
Application Context (только кэш-часть):
<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"/>
Я пытался прокси и режим AspectJ (в режиме прокси меньше ошибок но кеш ничего не делал)
Это веб-приложение было первоначально создано с использованием roo и использовать весенний mvc и веб-поток. Таким образом, в applicationContext.xml или webmvc-config.xml довольно много xml (и я не могу понять, что делают некоторые компоненты). Я запускаю wepapps в затмении с m2e-wtp, а pom.xml использует плагин-аспектj-maven-плагин (но не знаю, что он делает)
Похоже, проблема связана с аспектом, но я никогда не использовал aspectJ. Если кто-нибудь из весенних/java/aspectj гуру может объяснить мне, что делает эту ошибку, и как я могу заставить работать мой кеш, это было бы потрясающе! (Я мог бы найти только учебник, но не образец проекта с использованием кэшируемой аннотации).
Обновить целевую папку, см. Http://stackoverflow.com/questions/16283268/how-to-deploy-generated-resources-to-tomcat-with-m2e-wtp – xmedeko