Файл класса, не найденный в IntelliJ

В IntelliJ я получаю эту странную ошибку, когда я пытаюсь скомпилировать.

Cannot find annotation method 'cascade()' in type 'javax.persistence.ManyToOne': class file for javax.persistence.ManyToOne not found

Я знаю, кажется довольно очевидным, какова проблема, но проводивший слишком много времени на этой проблеме я теперь поворачиваю свое доверие к Вам!

Я использую ideaCommunity-9, где я создал глобальную библиотеку для JBoss, который содержит все банки JBoss включая ejb3-persistence.jar. Мой модуль включает эту библиотеку, и я переместил его в вершину зависимостей. Никакой otherwhere в пути к классу у меня есть javax.persistence. Класс ManyToOne, и это также открывается в IntelliJ без проблем.
Если я открываю файл, где я получаю ошибку компиляции, IntelliJ не показывает проблем и также перешел в файл класса на нажатии Ctrl+B.
Код является также сборкой с муравьем, и здесь это хорошо работает.

Помимо вышеупомянутой ошибки я получаю шесть других вдоль того же пути (имя в Таблице, и т.д.) - все связанные с JPA. Я также получаю сообщение, говоря, "Зарегистрируйте ошибку JDC yada yada yada".

21
задан skaffman 4 February 2010 в 13:07
поделиться

3 ответа

Попробуйте поставить галочку напротив «экспорт» в ваших зависимостях.

Я имею в виду: меню «Файл» -> Структура проекта -> Модули -> Зависимости, и там вы можете увидеть библиотеки, включенные в модуль. Вы также должны увидеть флажок рядом с каждой библиотекой в ​​столбце «Экспорт».

32
ответ дан 29 November 2019 в 20:12
поделиться

Разве это не похоже на этот вопрос SO ?

Решение заключалось в том, чтобы добавить всю JBoss jar (что вы и сделали), а также все библиотеки, связанные с постоянным доступом (например, Hibernate)

См. Эту конфигурацию проекта JBoss , например:

alt text http://jdick.co.uk/blog/wp-content/uploads/2008/12/projectstructure1.jpg

Короче говоря, ejb3-persistence.jar может не быть проблемой здесь просто симптом отсутствия других элементов.
Или, если это проблема, это может быть связано с тем, что оно неправильно развернуто (для конфигурации WebApp ).

1
ответ дан 29 November 2019 в 20:12
поделиться

Вот идея: Возможно, у вас есть несколько версий файла jar. Найдите в иерархии папок файл ejb3-persistence.jar , {{1} } с помощью инструмента управления файлами, такого как Total Commander. Многократное появление файла в пути к классам может сбить с толку IntelliJ Idea и заставить его не распознать нужный класс в соответствующем jar-файле.

0
ответ дан 29 November 2019 в 20:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: