В 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".
Попробуйте поставить галочку напротив «экспорт» в ваших зависимостях.
Я имею в виду: меню «Файл» -> Структура проекта -> Модули -> Зависимости, и там вы можете увидеть библиотеки, включенные в модуль. Вы также должны увидеть флажок рядом с каждой библиотекой в столбце «Экспорт».
Разве это не похоже на этот вопрос SO ?
Решение заключалось в том, чтобы добавить всю JBoss jar (что вы и сделали), а также все библиотеки, связанные с постоянным доступом (например, Hibernate)
См. Эту конфигурацию проекта JBoss , например:
alt text http://jdick.co.uk/blog/wp-content/uploads/2008/12/projectstructure1.jpg
Короче говоря, ejb3-persistence.jar
может не быть проблемой здесь просто симптом отсутствия других элементов.
Или, если это проблема, это может быть связано с тем, что оно неправильно развернуто (для конфигурации WebApp ).
Вот идея:
Возможно, у вас есть несколько версий файла jar.
Найдите в иерархии папок файл ejb3-persistence.jar
, {{1} } с помощью инструмента управления файлами, такого как Total Commander.
Многократное появление файла в пути к классам может сбить с толку IntelliJ Idea
и заставить его не распознать нужный класс в соответствующем jar-файле.