NoClassDefFoundError с кешем Spring и аспектом

Я получаю эту ошибку в своем весеннем веб-приложении (весна 3.1), и я не знаю, почему.

org.springframework.web.util.NestedServletException: обработчик обработка не удалась; вложенным исключением является 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();
        ...
    }
}

Контекст приложения (только часть кеша):

<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"/>

Я попробовал режим прокси и аспекта (в режиме прокси меньше ошибок, но кеш ничего не делал)

Это веб-приложение было изначально построен с помощью roo и использует spring mvc и webflow. Итак, в applicationContext.xml или webmvc-config.xml довольно много xml (и я не могу понять, что делают некоторые bean-компоненты). Я запускаю wepapps в eclipse с помощью m2e-wtp, а pom.xml использует подключаемый модуль aspectj-maven-plugin (но не знаю, что он делает)

. Похоже, проблема связана с аспектом j, но я никогда не использовал аспект J. Если кто-нибудь, гуру spring/java/aspectj, может объяснить мне, что вызывает эту ошибку и как я могу заставить работать свой кеш, это было бы здорово! (Я смог найти только учебник, но не образец проекта с использованием кэшируемой аннотации).

5
задан Tomasz Nurkiewicz 15 March 2012 в 20:39
поделиться