Подтвердить что ты не робот

Как сказать eclipse игнорировать: "Файл persistence.xml, найденный в проекте"

Для моих проектов Необходимость я перегруппируйте все записи persistence.xml в одном базовом проекте, который я связываю как зависимость maven, где мне нужно.

Проблема в том, что среда eclipse всегда жалуется на

No persistence.xml  file found in project

Есть ли у вас время для затмения? Благодаря

4b9b3361

Ответ 1

Благодаря sionnach733, которые положили меня на правильный путь

enter image description here

Ответ 2

Window->Preferences->Java Persistence-> JPA-> Errors/warnings-> Project

Затем измените его с ошибкой на все, что вам нравится (warning/info/ignore). Вы также можете выбрать настройку конкретных параметров проекта, если вы не хотите, чтобы это повлияло на другие проекты.

Ответ 3

Если эта ошибка возникает в проекте Maven, который не требует фасета JPA, вы можете сказать m2e не применять активацию JPA (по существу, не добавлять фасет JPA во время настройки проекта), установив следующее свойство в файле pom.xml: затронутый проект:

<properties>
    <m2e.jpa.activation>false</m2e.jpa.activation>
</properties>

Если вы нажмете CTRL-SPACE в существующем теге <properties>, в источнике pom.xml content-assist предоставит ярлык для создания свойства, поэтому вам не нужно запоминать синтаксис, только это контентная помощь есть...;)

После применения свойства обязательно запустите Maven -> Update Project (Alt-F5) для данного проекта. Возможно, вам придется один раз удалить фасет JPA из затронутого проекта вручную на странице свойств проекта.

Для тех, кто задается вопросом, почему m2e считает, что в первую очередь необходимо добавить фасет JPA: это обрабатывается классом JpaProjectConfigurator в плагине m2e/WTP eclipse и может быть настроен с помощью реализации детекторов фасетов (которые все должны расширять Класс AbstractFacetDetector и регистрация их в точке расширения org.eclipse.m2e.wtp.facetDetectors). Таким образом, фасет может активироваться установленным вами плагином или обнаружением по умолчанию, встроенным в функцию Eclipse m2e/WTP, которая в основном ищет в проектах существующий файл persistence.xml или orm.xml или библиотеку поставщика JPA путь к классам Это происходило, когда артефакт бизнес-логики зависел от моего артефакта постоянного уровня (с включенным разрешением рабочей области, что может быть частью проблемы), у которого был META-INF/persistence.xml, но артефакт бизнес-логики - нет.

Для получения дополнительной информации см. M2E-WTP/New и Noteworthy/1.0.0 и rg.eclipse.m2e.wtp.jpa.internal.configurators.JpaProjectConfigurator исходный код.

ИМХО, принятый ответ не является хорошим советом, так как неправильно устанавливать серьезность ошибки как "Игнорировать", так как тогда Eclipse не будет предупреждать о проектах, которые действительно являются проектами JPA и, следовательно, имеют/нуждаются в аспекте JPA и, следовательно, должны предоставлять persistence.xml в ожидаемом местоположении (наименование и местоположение могут быть важны для артефактов, развернутых в средах Java EE).

Кроме того, благодаря правильной настройке проекта, отличного от JPA (то есть без лишнего аспекта JPA), Eclipse не будет тратить время на проверку JPA и мониторинг изменений JPA в проекте. Возможно, вы заметили JPA Project Change Event Handler (waiting) в представлении Progress (особенно при наличии нескольких проектов JPA в рабочей области). Они больше не работают для проектов, которые не требуют JPA, когда фасет JPA удален.

Ответ 4

Все остальные ответы на этот вопрос касаются проблемы, заставляя Eclipse не жаловаться на ошибку.

Правильное решение проблемы - удалить фасет JPA из вашего проекта. Вы можете сделать это, щелкнув правой кнопкой мыши по проекту в Project Explorer, в меню выберите "Свойства". Оттуда перейдите в "Фасеты проекта" и убедитесь, что запись JPA снята. Нажмите Применить, затем ОК. Перейдите в меню "Проект" и выберите "Очистить". Это удалит ложную ошибку.

Screen shot of Project Facets

Ответ 5

Я избавился от этого, отключив фасет JPA для моего проекта Java.

Ответ 6

1. go to .setting directory of the project

2. modify org.eclipse.wst.common.project.facet.core.xml
        remove the following:
             <installed facet="jpt.jpa" version="2.0"/> 
3. Refresh the project

Ура !!!

Ответ 7

Я предполагаю, что вы настроили точку зрения JPA.

Я только что создал "пустой" persistence.xml в src/main/java/META-INF. Это было бы видно maven, так что никогда не будет дальше... Это хак, я знаю, но он работает...