Recibo este error en mi aplicación de primavera (primavera 3.1), y no sé por qué.NoClassDefFoundError con spring cache y aspectj
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: mypackage/TestCache$AjcClosure1
(el $AjcClosure1
es raro)
Si comento la anotación @Cacheable
en la clase a continuación el error se ha ido.
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;
}
}
Mi clase controlador (simplificado):
@Controller
@RequestMapping("/mypage")
public class MyController {
@RequestMapping
public String index(ModelMap model, Locale locale) {
TestCache tc = new TestCache();
...
}
}
Aplicación Contexto (sólo una parte de caché):
<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"/>
me trató proxy y el modo aspectj (en modo de proxy menos errores pero el caché no estaba haciendo nada)
Esta aplicación web se construyó inicialmente con roo y usa mv de primavera c y webflow. Entonces, hay bastante xml en applicationContext.xml o webmvc-config.xml (y no puedo entender lo que algunos beans están haciendo). Estoy ejecutando el wepapps en eclipse con m2e-wtp y el pom.xml está usando el plug-in aspectj-maven-plugin (pero no tengo idea de qué se trata)
Parece que el problema está relacionado con aspectj, pero nunca usé aspectJ. Si cualquier gurú de spring/java/aspectj me puede explicar qué está haciendo este error y cómo puedo hacer que funcione mi caché, ¡sería increíble! (Pude encontrar solo un tutorial pero no un proyecto de muestra con la anotación almacenable en caché).
Actualiza la carpeta de destino, mira http://stackoverflow.com/questions/16283268/how-to-deploy-generated-resources-to-tomcat-with-m2e-wtp – xmedeko