ビルドと依存関係の管理に Maven (m2e-wtp) を使用する Web アプリケーション (Eclipse の Dynamic Web App) があります。この Web アプリの POM は、私のワークスペース内の他のいくつかのプロジェクトを参照しています。これらのプロジェクトは、たまたま Maven でビルドされた Eclipse プラグイン (Tycho を使用してビルドされたもの) であり、Maven のリポジトリから提供される他のサードパーティ ライブラリも参照しています。
CLI から maven を実行すると、すべて正常に動作します。期待どおり、すべての依存関係が WEB-INF/lib ディレクトリに含まれています。
問題は、Eclipse を使用してプロジェクトを実行しようとしたときです。Eclipse 内の構成済み Tomcat サーバーでアプリを実行していますが、ワークスペースで参照されているプロジェクトがデプロイされた war に追加されません。
私はそれらを(プロジェクト設定の下で)展開アセンブリに追加しようとしましたが、それは完全に機能しますが、これらの設定は Maven 構成が更新されるたびに m2e によって消去されます。すべての依存関係は m2e で管理する必要があるため、そこにエントリを手動で追加するべきではないことをいくつかの場所で読みました...
問題は、Eclipse から実行するときに、ワークスペース プロジェクトの依存関係を Web アプリの WEB-INF/lib に追加する方法です。
Eclipse J2EE 4.3.1 (Kepler SR1) を使用しています。
また、プロジェクトを右クリックして [エクスポート] -> [WAR ファイル] を選択しようとしましたが、エクスポートされた WAR ファイルには、参照されているワークスペース プロジェクトも含まれていません。この問題は両方のケースに影響していると思います。
これは非常に面倒で、かなり速度が低下しています..この時点で、プロジェクトを 1 日に数回展開アセンブリ ページに追加し直さなければなりません...
更新: POM に依存関係として追加したワークスペース プロジェクトは、プロジェクトのプロパティの下にある参照プロジェクトのリストに表示されます。しかし、プロジェクト エクスプローラーで Maven の依存関係を展開すると、ワークスペース プロジェクトの依存関係がリストに表示されません。Maven リポジトリにあるものだけが表示されます。彼らの地元の人々は黙って無視されているようです...