Ricevo questo errore nella mia webapp di primavera (primavera 3.1) e non so perché.NoClassDefFoundError con spring cache e aspectj
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: mypackage/TestCache$AjcClosure1
(il $AjcClosure1
è strano)
Se io commento l'annotazione @Cacheable
nella classe sotto l'errore è scomparso.
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;
}
}
La mia classe controllore (semplificato):
@Controller
@RequestMapping("/mypage")
public class MyController {
@RequestMapping
public String index(ModelMap model, Locale locale) {
TestCache tc = new TestCache();
...
}
}
contesto di applicazione (solo una parte della cache):
<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"/>
ho provato proxy e modalità AspectJ (in modalità proxy errore inferiore, ma la cache non stava facendo nulla)
Questa applicazione web è stata creata inizialmente con roo e usa spring mv c e webflow. Quindi c'è un bel po 'di xml in applicationContext.xml o webmvc-config.xml (e non sono in grado di capire cosa stanno facendo alcuni bean). Sto eseguendo i wepapp in eclissi con m2e-wtp e pom.xml utilizza il plug-in aspectj-maven-plugin (ma non ho idea di cosa sia)
Sembra che il problema sia correlato con aspectj, ma non ho mai usato l'aspettoJ. Se qualcuno spring/java/aspettoj guru può spiegarmi che cosa sta facendo questo errore e come posso far funzionare la cache sarebbe fantastico! (Ho potuto trovare solo tutorial ma nessun progetto di esempio usando l'annotazione memorizzabile nella cache).
Aggiorna la cartella di destinazione, vedi http://stackoverflow.com/questions/16283268/how-to-deploy-generated-resources-to-tomcat-with-m2-wtp – xmedeko