31

私はmaven-ear-pluginバージョン2.3.1を使用しています-新しいバージョンが利用可能であることを知っています:http://maven.apache.org/plugins/maven-ear-plugin/

最新バージョンにアップグレードする方法がわかりませんか?

4

4 に答える 4

50

これはすでに「承認された答え」を得ていますが、終わりのないバージョンのメンテナンスの問題を処理するこのAWESOMEバージョンのプラグインがあることがわかりました。

それらの怠惰な人々のために、ここにその目標のいくつかがあります:

  • version:display-dependency-updatesはプロジェクトの依存関係をスキャンし、新しいバージョンが利用可能な依存関係のレポートを生成します。
  • version:display-plugin-updatesはプロジェクトのプラグインをスキャンし、新しいバージョンが利用可能なプラグインのレポートを生成します。
  • version:display-property-updatesはプロジェクトをスキャンし、アーティファクトのバージョンを制御するために使用され、新しいバージョンが使用可能なプロパティのレポートを生成します。
  • version:update-parentは、プロジェクトの親セクションを更新して、使用可能な最新バージョンを参照するようにします。たとえば、企業ルートPOMを使用している場合、この目標は、企業ルートPOMの最新バージョンを使用していることを確認する必要がある場合に役立ちます。
  • version:update-propertiesは、プロジェクトで定義されたプロパティを更新して、特定の依存関係の利用可能な最新バージョンに対応するようにします。これは、一連の依存関係をすべて1つのバージョンにロックする必要がある場合に役立ちます。
  • version:update-child-modulesは、プロジェクトの子モジュールの親セクションを更新して、バージョンが現在のプロジェクトのバージョンと一致するようにします。たとえば、集約するプロジェクトの親でもあるアグリゲーターpomがあり、子と親のバージョンが同期していない場合、このmojoは子モジュールのバージョンを修正するのに役立ちます。(プロジェクトがひどく壊れていて、バージョンの不一致のためにビルドできない場合、この目標を実行するには、-Nオプションを指定してMavenを呼び出す必要がある場合があることに注意してください)。
  • version:lock-snapshotsは、pomですべての-SNAPSHOTバージョンを検索し、それらをその-SNAPSHOTの現在のタイムスタンプバージョン(例:-20090327.172306-4)に置き換えます。
  • version:unlock-snapshotsは、タイムスタンプでロックされたすべてのスナップショットバージョンをpomで検索し、それらを-SNAPSHOTに置き換えます。
  • version:setを使用して、コマンドラインからプロジェクトのバージョンを設定できます。
  • version:use-releasesは、リリースされたすべての-SNAPSHOTバージョンをpomで検索し、それらを対応するリリースバージョンに置き換えます。
  • version:use-next-releasesは、新しいリリースであるすべての非SNAPSHOTバージョンをpomで検索し、それらを次のリリースバージョンに置き換えます。
  • version:use-latest-releasesは、新しいリリースであるすべての非SNAPSHOTバージョンをpomで検索し、それらを最新のリリースバージョンに置き換えます。
  • version:use-next-snapshotsは、新しい-SNAPSHOTバージョンであるすべての非SNAPSHOTバージョンをpomで検索し、それらを次の-SNAPSHOTバージョンに置き換えます。
  • version:use-latest-snapshotsは、新しい-SNAPSHOTバージョンであるすべての非SNAPSHOTバージョンをpomで検索し、それらを最新の-SNAPSHOTバージョンに置き換えます。
  • version:use-next-versionsは、新しいバージョンであるすべてのバージョンをpomで検索し、それらを次のバージョンに置き換えます。
  • version:use-latest-versionsは、新しいバージョンであるすべてのバージョンをpomで検索し、それらを最新バージョンに置き換えます。
于 2010-12-31T04:22:37.323 に答える
17

デフォルトのプラグインバージョンはSuperPOMから継承されており、で確認できますmvn help:effective-pom

そこで提供されているバージョンを上書きする場合は、これをPOMに追加します。

<project>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.1</version>
      </plugin>
    </plugins>
  </build>
</project>

バージョンを必要なものに置き換えます。

于 2009-04-24T16:29:25.410 に答える
9

プラグインのバージョンがどのように選択されるか、およびsuperpomのプラグインのバージョンについての説明は、ここで詳しく説明されています。

実際、現在選択されている答えは完全には正しくありません。そのはず

<project>
  <build>
   <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.1</version>
      </plugin>
    </plugins>
   </pluginManagement>
  </build>
</project>

私はここで理由を説明しました:

「通常のプラグインセクションでは、バージョンとデフォルト構成を定義することもできます。これは混乱の原因です。ここでプラグインバージョンとデフォルト構成を定義することは技術的に有効ですが、これに従うとpomを簡単に理解できます。ガイドライン:

プラグインブロックが実行を定義していない場合(したがって、ライフサイクルで何かを実行するためにMavenをバインドしていない場合)、そのブロックをpluginManagmentに配置します。

于 2009-04-26T01:10:32.090 に答える
3

一部のMavenプラグインはMavenバージョンに制限されています。たとえば、通常、このあたりのプロジェクトではMaven 2.0.4を使用しますが、これはwarプラグイン2.0.2の使用に制限されています。これはオーバーレイで機能します。ただし、Maven 2.0.9が使用する2.1-alphaは、使用しないため、手動でダウングレードする必要がありました。Mavenは、特に指示がない限り、プラグインのバージョンに応じて可能な限り最新バージョンのプラグインを使用しようとします。

于 2009-04-24T18:29:42.580 に答える