Я уже некоторое время отлаживаю это, и я надеюсь, что кто-то мог бы пролить немного света здесь.
У меня есть проект Maven, который добавлен в Jenkins с использованием JDK 1.6. Я использую AOP в этом проекте для обработки транзакций базы данных.
Когда я запускаю сборку в Jenkins, мой тестовый сценарий не выполняется со следующими исключениями: -
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'dataHandlerClassificationImpl':
Injection of resource dependencies failed; nested exception is
org.springframework.beans.factory.BeanNotOfRequiredTypeException:
Bean named 'writerDataLocationImpl' must be of type [xxx.script.WriterData],
but was actually of type [$Proxy17]
...
...
Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException:
Bean named 'writerDataLocationImpl' must be of type [xxx.script.WriterData],
but was actually of type [$Proxy17]
...
...
Класс DataHandlerClassificationImpl
выглядит примерно так: -
@Service
public class DataHandlerClassificationImpl extends DataHandler {
@Resource(name="writerDataLocationImpl")
private WriterData writerData;
...
}
WriterData
- это интерфейс с несколькими реализациями.
Я могу без проблем выполнить код из IDE. Чтобы определить, является ли это проблемой Maven или Jenkins, я перешел к папке проекта Jenkins с помощью командной строки и смог запустить mvn test
без каких-либо ошибок.
Я знаю, что ошибка прокси-сервера имеет отношение к AOP и что я могу только автоматически подключаться к интерфейсу, а не к конкретному классу ... но здесь это не так, поскольку я могу нормально запускать свой код вне Jenkins .
Есть идеи? Благодарю.