Maven プラグインのバージョンをアップグレードするにはどうすればよいですか?
-
16-09-2019 - |
質問
私は maven-ear-plugin バージョン 2.3.1 を使用しています - 利用可能な新しいバージョンがあることはわかっています。 http://maven.apache.org/plugins/maven-ear-plugin/
最新バージョンにアップグレードする方法がわかりません。
解決
デフォルトのプラグインのバージョンは、スーパーPOMから継承されている、とあなたはmvn help:effective-pom
でそれらを確認することができます。
あなたがそこに提供されるバージョンを上書きしたい場合は、あなたのPOMにこれを追加します:
<project>
<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.1</version>
</plugin>
</plugins>
</build>
</project>
あなたが必要なもので、バージョンを置き換えます。
他のヒント
これはすでに「承認された回答」を得ていますが、これがあることが判明しました 素晴らしいバージョンのプラグイン 終わりのないバージョン管理の問題を処理します。
怠け者のために、その目標のいくつかをここに示します。
- バージョン:表示依存関係の更新 プロジェクトの依存関係をスキャンし、新しいバージョンが利用可能な依存関係のレポートを作成します。
- バージョン:表示プラグインの更新 プロジェクトのプラグインをスキャンし、新しいバージョンが利用可能なプラグインのレポートを作成します。
- バージョン:表示プロパティの更新 プロジェクトをスキャンし、アーティファクトのバージョンを制御するために使用されるプロパティと、どのプロパティに新しいバージョンが利用可能であるかのレポートを作成します。
- バージョン:親の更新 プロジェクトの親セクションを更新して、利用可能な最新バージョンを参照するようにします。たとえば、企業ルート POM を使用している場合、企業ルート POM の最新バージョンを使用していることを確認する必要がある場合、この目標は役立ちます。
- バージョン:更新プロパティ プロジェクトで定義されているプロパティを更新して、特定の依存関係の利用可能な最新バージョンに対応するようにします。これは、一連の依存関係をすべて 1 つのバージョンにロックする必要がある場合に便利です。
- バージョン:更新子モジュール プロジェクトの子モジュールの親セクションを更新して、バージョンが現在のプロジェクトのバージョンと一致するようにします。たとえば、集約するプロジェクトの親でもあるアグリゲーター pom があり、子と親のバージョンが同期しなくなった場合、この Mojo は子モジュールのバージョンを修正するのに役立ちます。(プロジェクトがひどく破損しており、バージョンの不一致によりビルドできない場合は、このゴールを実行するために -N オプションを指定して Maven を呼び出す必要がある場合があることに注意してください)。
- バージョン:ロック スナップショット すべての -SNAPSHOT バージョンの pom を検索し、それらをその -SNAPSHOT の現在のタイムスタンプ バージョンに置き換えます。-20090327.172306-4
- バージョン:スナップショットのロック解除 pom でタイムスタンプがロックされたすべてのスナップショット バージョンを検索し、それらを -SNAPSHOT に置き換えます。
- バージョン:セット コマンドラインからプロジェクトのバージョンを設定するために使用できます。
- バージョン:使用リリース pom でリリースされたすべての -SNAPSHOT バージョンを検索し、対応するリリース バージョンに置き換えます。
- バージョン:次のリリースを使用 新しいリリースであるすべての非 SNAPSHOT バージョンを pom で検索し、それらを次のリリース バージョンに置き換えます。
- バージョン:最新リリースを使用 新しいリリースであるすべての非 SNAPSHOT バージョンを pom で検索し、それらを最新のリリース バージョンに置き換えます。
- バージョン:次のスナップショットを使用 新しい -SNAPSHOT バージョンであるすべての非 SNAPSHOT バージョンを pom で検索し、それらを次の -SNAPSHOT バージョンに置き換えます。
- バージョン:最新のスナップショットを使用する 新しい -SNAPSHOT バージョンであるすべての非 SNAPSHOT バージョンを pom で検索し、最新の -SNAPSHOT バージョンに置き換えます。
- バージョン:次のバージョンを使用 新しいバージョンであるすべてのバージョンを pom で検索し、次のバージョンに置き換えます。
- バージョン:最新バージョンを使用 新しいバージョンであるすべてのバージョンを pom で検索し、最新バージョンに置き換えます。
詳細に覆われているどのようにプラグインのバージョンはsuperpomでのプラグインのバージョンについての議論とともに、選択された<のhref = "http://maven.40175.n5.nabble.com/Plugin-Versions-inここを-the-スーパーポンポン-td208080.html」のrel = "nofollowをnoreferrer">。
実際には現在選択されている答えは非常に適切ではありません。それがあるべき
<project>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
私が説明した理由ここの
「通常のプラグインセクションもバージョンとデフォルトの設定を定義することを可能にする、と混乱がある場所です。ここにプラグインのバージョンと、デフォルトの構成を定義することは技術的に有効ですが、私はそれが簡単にポンポンを完全に理解するために見つけますこのガイドライン以下のときます:
プラグインのブロックが実行を定義する(したがって、ライフサイクルで何かをするMavenを結合)されていない場合は、pluginManagmentにそのブロックを置く "
いくつかのMavenプラグインはバージョンのMavenのように制限されています。例えば、一般的にこの辺り突き出戦争プラグイン2.0.2を使用するように制限されているのMaven 2.0.4を使用 - これはオーバーレイで動作します。私たちは手動でダウングレードしなければならなかった - しかし、Mavenの2.0.9が使用する、しないものは何でも2.1アルファ。 Mavenのは、特に指示がない限り、それはそのバージョンに応じてできるプラグインの最新バージョンを使用しようとします。