Tôi nhận được lỗi này trong webapp mùa xuân của tôi (mùa xuân 3.1), và tôi không biết tại sao.NoClassDefFoundError với bộ nhớ đệm mùa xuân và aspectj
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: mypackage/TestCache$AjcClosure1
(các $AjcClosure1
là lạ)
Nếu tôi nhận xét các chú thích @Cacheable
trong lớp dưới lỗi đã biến mất.
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;
}
}
Lớp học của tôi điều khiển (giản thể):
@Controller
@RequestMapping("/mypage")
public class MyController {
@RequestMapping
public String index(ModelMap model, Locale locale) {
TestCache tc = new TestCache();
...
}
}
Application Context (chỉ bộ nhớ cache một phần):
<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"/>
tôi đã cố gắng proxy và chế độ AspectJ (trong chế độ proxy ít lỗi nhưng bộ nhớ cache không hoạt động)
Ứng dụng web này được xây dựng ban đầu bằng roo và sử dụng mv mùa xuân c và luồng web. Vì vậy, có khá nhiều xml trong applicationContext.xml hoặc webmvc-config.xml (và tôi không thể hiểu những gì một số bean đang làm). Tôi đang chạy các wepapps trong nhật thực với m2e-wtp và tệp pom.xml đang sử dụng plug-in plugin-maven-plugin (nhưng không biết nó làm gì)
Dường như vấn đề có liên quan với aspectj, nhưng tôi không bao giờ sử dụng aspectJ. Nếu ai đó spring/java/aspectj guru có thể giải thích cho tôi điều gì gây ra lỗi này và cách tôi có thể làm cho bộ nhớ cache của tôi hoạt động, nó sẽ thật tuyệt vời! (Tôi chỉ có thể tìm thấy hướng dẫn nhưng không có dự án mẫu nào sử dụng chú thích có thể lưu vào bộ nhớ cache).
Làm mới thư mục đích, xem http://stackoverflow.com/questions/16283268/how-to-deploy-generated-resources-to-tomcat-with-m2e-wtp – xmedeko