0

WEB-INF/lib に含まれる依存関係を削減しようとしている戦争があります。それらは耳によって提供されているためです。それらが耳だけにある場合は、私が抱えていたいくつかのクラスローダーの問題を解決します。

戦争のモジュールで mvn clean install を実行すると、必要な依存関係のみがビルドされます。レベルを上げてプロジェクトで mvn install を実行すると (戦争はこのレベルの pom.xml でモジュールとして定義されます)、戦争はより多くの依存関係で再パッケージ化されます

動作が異なるのはなぜですか?また、これらの余分な依存関係がすべて入り込まないようにするにはどうすればよいですか?

ここのアドバイスに従ってみましたが、動作に違いは見られませんでした: http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html

Maven 2.0.6、maven-ear-plugin 2.4.1、maven-war-plugin 2.1-beta-1 (閉じたネットワークにいるため、バージョンを変更できません)。前もって感謝します。

ETA: プロジェクト レベルでの mvn クリーン インストールにより、必要な結果が得られます。mvn clean を実行してから mvn install を実行すると、不要な jar が追加されます。

4

1 に答える 1

2

実行mvn dependency:treeして、(おそらく推移的な) 依存関係がどこから来ているかを確認します。

Maven が依存関係管理をどのように処理するかを深く理解するには、「Maven the Definitive Guide」(Sonatype による無料の PDF) を読むことをお勧めします。

また、maven 2.1.0 (できれば 2.2.1) にアップグレードする方法とプラグインの最新バージョンを見つけてください。以前のバージョンはバグが多いことで有名です。

于 2010-11-10T09:50:41.687 に答える