Я последовал совету, данному здесь, чтобы попробовать некоторые модульные тесты с методами Spring AOP. . Однако я подозреваю, что переупакованные классы cglib в spring-core и cglib-nodep-2.2.jar конфликтуют друг с другом, в результате чего мой класс, проксируемый через прокси, дважды загружается загрузчиком классов. Это приводит к следующей ошибке:
Caused by: java.lang.LinkageError: loader (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate class definition for name:
Инструменты:
- easmock-3.0 (с переходной зависимостью cglib-nodep-2.2.jar)
- spring-x-4.0.0.RELEASE (с перепакованной cglib классов версии ?)
- Юнит-4.8.1
Исключение транзитивной зависимости cglib-nodep явно не помогло — все тесты, в том числе и не-sring-aop, тоже начали давать сбои.
Я также попробовал ответ, опубликованный здесь: очистить целевую папку перед повторным запуском тестов, но безуспешно.
Эта проблема действительно из-за конфликта версий cglib, как я думал? Если да, то какую правильную версию я должен использовать, чтобы дважды не загружать мой класс.