2013-09-27 4 views
7

Я устанавливаю проект Spring 3.2.3 + Hibernate 4 в Eclipse 4.3.Не удается найти org.aspectj.weaver.reflect.ReflectionWorld

Когда я добавить код <tx:annotation-driven transaction-manager="transactionManager"/> в моем контексте я начинаю получать следующее сообщение об ошибке в каждом отдельном компоненте:

Build path is incomplete. Cannot find class file for org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException 

Теперь я добавил как AspectJ Tools и CGLIB зависимости моему проекту и баночки там, включая класс, который он не может найти. Приложение работает нормально, а Spring успешно управляет сеансами и транзакциями.

Я искал решение, но в каждом ответе говорится, что ошибка возникает из-за отсутствия JAR.

Кто-нибудь знает, что мне не хватает (несовместимые версии?), Или это ошибка Eclipse?

Вот экран печати проблемы (каждая ошибка, которую вы увидите, указана выше).

enter image description here

Заранее спасибо!

ответ

10

Хорошо, я наконец нашел решение моей проблемы!

Когда я установил плагин Spring Tools, кажется, я забыл проверить как «AspectJ Compiler», так и «AspectJ Development Tools» из списка плагинов. Как только я установил и перезапустил Eclipse, ошибки исчезли.

Вот трафаретная печать, если кто-то интересуется:

enter image description here

11

Возможно, вам не хватает som aspectj libs?

Попробуйте добавить к вашему ПОМ

<dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjrt</artifactId> 
    <version>1.7.3</version>  
</dependency> 
<dependency> 
    <groupId>org.aspectj</groupId> 
    <artifactId>aspectjweaver</artifactId> 
    <version>1.7.3</version> 
</dependency> 
+0

Nop, к сожалению, это не сработало –

+0

@ Это помогло мне, спасибо! – solvator

+0

У меня была такая же проблема, используя spring-aop 3.2.8. Этот класс фактически находится внутри org.aspectj.aspectjweaver артефакта, но я использовал неправильную версию 1.7.4 – Zec

3

Вот что работает для меня:

  • Я добавил к моему pom.xml зависимости Pere предложенные в своем ответе:

    org.aspectj aspectjrt 1.7.3
    org.aspectj aspectjweaver 1.7.3

Тогда я сразу же нажал на имя моего проекта в Project Explorer -> Свойства -> Java построить путь -> Порядок и вкладка Экспорт.

На этой вкладке я заметил, что по какой-то странной причине Maven Dependencies больше не проверяется. Я проверил его, и после того, как я применил изменения, ошибка, упомянутая в вопросе выше, исчезла.

+0

этот ответ решить мою проблему, как STS показывает ошибку на всех моих классов бобов. Но проект работает без ошибок. Просто сделал это, чтобы удалить ошибки из xml-файла. Не добавлял никакой дополнительной зависимости. –

0

Мне пришлось добавить конструктор Spring к моему затмению.файл проекта, чтобы исправить эту проблему

 <buildCommand> 
     <name>org.springframework.ide.eclipse.core.springbuilder</name> 
     <arguments> 
     </arguments> 
    </buildCommand> 
0

Я получил это же сообщение об ошибке при копировании кода xml из более старого проекта. Я считаю, что соответствующая строка в заголовке <beans вызывает следующие проблемы:
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd как проект был/фактически использовал библиотеки 4.0.

Чтобы исправить это, я удалил файл-нарушитель xml, использовал правой кнопкой мыши, чтобы удалить весенний проект (под пружинными инструментами), закрыл/открыл проект. Как только ошибка исчезла, я снова обратился к весенней природе, а затем воссоздал файл xml с 3.2, правильно измененным до 4.0.

Смежные вопросы