4

私は次のMavenプロジェクトの構造を持っています:

Example
-Persistence
-GWTApp

永続性には に persistence.xml がありsrc/main/resources/META-INF、ユニタリ テストで正常に動作します。

GWTApp プロジェクトで使用する必要があります。だから、私はそれを依存性として追加します。このような:

<dependency>
    <groupId>com.example</groupId>
    <artifactId>Persistence</artifactId>
    <version>0.0.1</version>
</dependency>

これにより、webapp で永続化クラスを表示して使用できますが、Eclipse で webproject を実行すると、次のエラーが発生しました。

javax.persistence.PersistenceException: exemplo という名前の EntityManager の永続化プロバイダがありません

これは、jarファイルを使用する代わりに、Eclipseがwebappプロジェクトの永続化プロジェクトを参照するプロジェクト間でこの「リンク」を行ったためだと思います。たぶん私は間違っている、それはただの推測です。

誰かがこれを修正する方法を知っていましたか? 前もって感謝します。

編集

私はさらに多くのテストを行っていますが、今では、その問題は GWT 開発モードと JPA などにあると考えています。persistence.xml を手動でコピーしようとしweapp/META-INFましtarget/project-webapp-0.0.1-SNAPSHOT/META-INFたが、エラーが持続します。

何か案が?

4

2 に答える 2

1

アプリを正しく起動していますか?https://developers.google.com/eclipse/docs/faq#gwt_with_maven

特に、依存関係をコピーするには「mvn war:exploded」する必要があることに注意してください target/myapp-0.0.1-SNAPSHOT/WEB-INF/lib

于 2012-04-21T01:55:53.793 に答える
1

M2Eを使用していると思います。はいの場合は、Persistence プロジェクトの [ビルド パスの構成] ダイアログを開きます (ビルド パスを右クリックし、[ビルド パス] サブメニューを選択します)。

「resources」フォルダーを見ると、「Excluded: **」と表示されていると思われます。これにより、Eclipse がファイルをローカルの出力ディレクトリにコピーできなくなり、依存プロジェクトでファイルを使用できなくなります。その行を選択し、「削除」をクリックします

M2E がこれを行う理由がわかりません。無効にする設定があることはわかっていますが、手動で行っています。

于 2012-04-20T20:55:54.890 に答える