簡體   English   中英

如何升級maven插件的版本?

[英]How do I upgrade the version of a maven plugin?

我正在使用maven-ear-plugin版本2.3.1 - 我知道有一個新版本可用: http//maven.apache.org/plugins/maven-ear-plugin/

我無法弄清楚如何升級到最新版本?

雖然這已經得到了“批准的答案”,但事實證明有這個AWESOME版本插件可以處理無休止的版本維護問題。

對於那些懶惰的人來說,這里有一些目標:

  • versions:display-dependency-updates掃描項目的依賴項,並生成具有更新版本的依賴項的報告。
  • 版本:display-plugin-updates掃描項目的插件,並生成那些具有更新版本的插件的報告。
  • versions:display-property-updates掃描項目並生成用於控制工件版本的屬性的報告,以及哪些屬性具有可用的新版本。
  • versions:update-parent更新項目的父節點,以便它引用最新的可用版本。 例如,如果您使用公司根POM,如果您需要確保使用最新版本的公司根POM,則此目標可能會有所幫助。
  • versions:update-properties更新項目中定義的屬性,以便它們對應於特定依賴項的最新可用版本。 如果必須將一組依賴項全部鎖定到一個版本,這將非常有用。
  • versions:update-child-modules更新項目子模塊的父節點,以使版本與當前項目的版本匹配。 例如,如果您有一個聚合器pom,它也是它聚合的項目的父級,並且子級和父級版本不同步,則此mojo可以幫助修復子模塊的版本。 (注意,如果您的項目因為版本不匹配而無法構建,那么您可能需要使用-N選項調用Maven以運行此目標。
  • 版本:lock-snapshots在pom中搜索所有-SNAPSHOT版本,並用-SNAPSHOT的當前時間戳版本替換它們,例如-20090327.172306-4
  • 版本:unlock-snapshots在pom中搜索所有時間戳鎖定的快照版本,並用-SNAPSHOT替換它們。
  • versions:set可用於從命令行設置項目版本。
  • versions:use-releases在pom中搜索已發布的所有-SNAPSHOT版本,並將其替換為相應的發行版本。
  • 版本:use-next-releases在pom中搜索所有非SNAPSHOT版本,這些版本是較新的版本,並將其替換為下一個版本。
  • 版本:use-latest-releases在pom中搜索所有非SNAPSHOT版本,這些版本是較新版本,並將其替換為最新版本。
  • 版本:use-next-snapshots在pom中搜索所有非SNAPSHOT版本,這些版本是較新的-SNAPSHOT版本,並將其替換為下一個-SNAPSHOT版本。
  • 版本:use-latest-snapshots在pom中搜索所有非SNAPSHOT版本,這些版本是較新的-SNAPSHOT版本,並用最新的-SNAPSHOT版本替換它們。
  • 版本:use-next-versions在pom中搜索所有版本較新的版本,並將其替換為下一版本。
  • 版本:use-latest-versions在pom中搜索所有版本較新的版本,並用最新版本替換它們。

默認插件版本繼承自Super POM,您可以使用mvn help:effective-pom

如果要覆蓋那里提供的版本,請將其添加到您的POM:

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

用您需要的版本替換版本。

如何插件的版本選擇,約在superpom插件版本中詳細說明了討論一起在這里

實際上當前選擇的答案並不完全正確。 它應該是

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

在這里解釋了原因:

“常規插件部分還允許定義版本和默認配置,這就是混亂的地方。在這里定義插件版本和默認配置在技術上是有效的,但我發現在遵循這個時更容易理解pom指南:

如果插件塊沒有定義執行(因此綁定maven在生命周期中執行某些操作),請將該塊放在pluginManagment中“

一些maven插件僅限於maven版本。 例如,通常這里的項目使用Maven 2.0.4,它僅限於使用war插件2.0.2 - 這適用於疊加。 然而,無論Maven 2.0.9使用哪種2.1-alpha都沒有 - 所以我們不得不手動降級。 除非另有說明,否則Maven將嘗試根據其版本使用最新版本的插件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM