web-dev-qa-db-ja.com

Eclipseに無視するよう指示する方法:「プロジェクトにpersistence.xmlファイルが見つかりません」

私のプロジェクトでは、必要な場所にMaven依存関係としてバインドする1つのコアプロジェクト内のすべてのpersistence.xmlエントリを再グループ化しています。

問題は、Eclipse IDEが常に文句を言っていることです

No persistence.xml  file found in project

これについてEclipseを静かに保つための距離はありますか?ありがとう

30
Festus Tamakloe

sionnach7 に感謝します。

enter image description here

58
Festus Tamakloe
Window->Preferences->Java Persistence-> JPA-> Errors/warnings-> Project

次に、エラーからあなたが好きなものに変更します(警告/情報/無視)。他のプロジェクトに影響を与えたくない場合は、プロジェクト固有の設定を選択することもできます

14
Sionnach733

JPAファセットを必要としないMavenプロジェクトでこのエラーが発生した場合、pom.xmlで次のプロパティを設定することにより、m2eにJPAアクティベーションを適用しない(基本的に、プロジェクト構成時にJPAファセットを追加しない)ように指示できます影響を受けるプロジェクト:

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

Pom.xmlソースの既存の_CTRL-SPACE_タグ内で_<properties>_を押すと、content-assistがプロパティを作成するためのショートカットを提供するため、構文を覚える必要はありません。コンテンツアシストがそこにあること...;)

プロパティを適用した後、問題のプロジェクトでMaven -> Update Project (Alt-F5)を実行してください。 [プロジェクトプロパティ]ページを使用して、影響を受けるプロジェクトからJPAファセットを手動で1回削除する必要がある場合があります。

M2eが最初にJPAファセットを追加する必要があると考える理由について疑問がある場合:これはm2e/WTP EclipseプラグインのJpaProjectConfiguratorクラスによって処理され、ファクトディテクター(すべてがAbstractFacetDetectorクラスを拡張し、_org.Eclipse.m2e.wtp.facetDetectors_拡張ポイントで登録する必要があります)。したがって、ファセットは、インストールしたプラグイン、または基本的に既存の_persistence.xml_または_orm.xml_ファイルまたはJPAプロバイダーを検索するEclipse m2e/WTP機能に組み込まれたデフォルトの検出によってアクティブになる場合がありますプロジェクトのクラスパスにあるライブラリ。これは、ビジネスロジックアーティファクトが、_META-INF/persistence.xml_を持つ永続レイヤーアーティファクト(ワークスペースの解像度がオンになっているため、問題の一部である可能性がある)に依存しているが、ビジネスロジックアーティファクトが依存していない場合に発生しました。

詳細については、 M2E-WTP/New and Noteworthy/1.0. および The rg.Eclipse.m2e.wtp.jpa.internal.configurators.JpaProjectConfiguratorソースコード を参照してください。

私見受け入れられた答えは、wrongであり、エラーの重大度を「無視」に設定するだけなので、Eclipseは警告しません。 are実際にJPAプロジェクトであり、したがってJPAファセットがあり/必要であり、結果として期待される場所(命名と場所)に_persistence.xml_を提供する必要があるプロジェクトJava EE環境)にデプロイされたアーティファクトにとって重要です。

さらに、JPA以外のプロジェクトを実際に正しく構成する(つまり、余分なJPAファセットがない)ことで、EclipseはプロジェクトでJPA検証とJPA変更監視を実行する時間を無駄にしません。 (特にワークスペースに複数のJPAプロジェクトがある場合)進行状況ビューでJPA Project Change Event Handler (waiting)に気づいたかもしれません。 JPAファセットが削除されると、これらはJPAを必要としないプロジェクトでは実行されなくなります。

9

この質問に対する他のすべての回答は、foolingEclipseがエラーについて文句を言わないことによる問題を扱っています。

この問題の正しい解決策は、プロジェクトからJPAファセットを削除することです。これを行うには、プロジェクトエクスプローラーでプロジェクトを右クリックし、メニューから[プロパティ]を選択します。そこから「Project Facets」に進み、JPAエントリがチェックされていないことを確認します。 [適用]、[OK]の順にクリックします。 [プロジェクト]メニューに移動し、[クリーン]を選択します。これにより、スプリアスエラーが削除されます。

Screen shot of Project Facets

6
bakoyaro

私はJavaプロジェクト。

5
Ashley Schroder
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

乾杯!!!

0
pkm