2

依存関係の管理に Maven を使用するプロジェクトを実行しています。プロジェクト自体は eclipse ( Run As...) によって実行されます。にはproject menu > Deployment Assembly、 を含めましたMAVEN_REPO

問題: プロジェクトを実行すると、すべてが に正しくコピーされwar/WEB-INF/libます。PersistenceProviderしかし、見つからないエラーが常に発生しています。

展開された war ディレクトリからすべてのライブラリを手動で にコピーしsrc/main/webapp/WEB-INF/lib、アプリケーションを再起動すると、すべて正常に動作します。

したがって、私の jpa/hibernate 設定は一般的に問題ないと結論付けることができます。

しかし、すべてのライブラリを手動で src lib フォルダーに追加する必要性をどのように克服できますか?

4

1 に答える 1

3

そのため、'Run As - Web Applicaiton' eclipse/google プラグインを実行すると、指定した War ディレクトリ パスが使用されます。これを変更するには、プロジェクトを右クリックし、プロパティを選択します。次に、Google ドロップダウンで [Web アプリケーション] を選択します。そこで、「WAR ディレクトリ」パスを編集できます。これはおそらく src/main/webapp に設定されていますが、これはあなたが望むものではありません。

maven が war をビルドすると、ビルドされたすべてのクラス ファイルとライブラリが取得され、それらがターゲット ディレクトリにパッケージ化されます。これは、「War ディレクトリ」として使用するディレクトリです。これは「/target/myappname-1.0.0」のようなものになります

補足: gwt/maven を使用している場合は、google/eclipse プラグインを使用して実行するのではなく、コマンド 'mvn gwt:run' を使用することをお勧めします。これにより、開発サーバーが実行される前に、maven が何らかの作業 (依存関係の解決など) を行うことができます。

于 2013-06-24T17:03:00.147 に答える