Maven のバージョンが異なると、WAR ファイルに追加のライブラリが含まれることになる

StackOverflow https://stackoverflow.com/questions/4217417

  •  26-09-2019
  •  | 
  •  

質問

Maven を使用して Tomcat サーバーにデプロイする war ファイルを構築しようとしていますが、war ファイルを構築するときにいくつかの奇妙な動作に気づきました。

プロジェクトフォルダーからコマンドを実行する場合: mvn clean compile package -DskipTests

  • Mavenバージョン3.0はwarファイルを生成する 12.079MB (WEB-INF/libフォルダに49個のjarファイル)
  • Mavenバージョン3.0ベータ1 8.7MBのwarファイル(31 jar)を生成する。 WEB-INF/libフォルダ内のファイル)
  • Maven バージョン 2.11 は 2.3MB の war ファイルを生成します (WEB-INF/lib フォルダーに 3 つの jar ファイル)

プロジェクトに余分な jar ファイルが含まれる原因は何ですか?過去にバージョン 2.11 を使用してプロジェクトをビルドすると正常に動作したため、おそらくこれらは必要ありません。

役に立ちましたか?

解決

私にも似たようなことが起こりました。何が起こったのかを説明します。

Maven 2.x では、プラグインのバージョンは Maven 自体によって設定されます。Maven 3.x では、「最新」が使用され、警告が表示されます。私の場合、新しいバージョンのコンパイラ プラグインを使用するといくつかの違いが生じ、新しいバージョンの依存関係プラグインを使用すると他の違いが生じました。

pom.xml ですべてのプラグインのすべてのバージョンを明示的に設定すると (とにかくベスト プラクティスです)、不一致は解消されました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top