如何升级maven插件的版本?

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

我无法弄清楚如何升级到最新版本?

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

如果要覆盖此处提供的版本,请将其添加到POM:

     maven-ear-plugin 2.3.1     

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

虽然这已经得到了“批准的答案”,但事实certificate,有一个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可用于从命令行设置项目版本。
  • 版本: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中搜索所有版本较新的版本,并用最新版本替换它们。

这里将详细介绍如何选择插件的版本,以及有关superpom中插件版本的讨论。

实际上当前选择的答案并不完全正确。 它应该是

      maven-ear-plugin 2.3.1      

我在这里解释了原因:

“常规插件部分还允许定义版本和默认配置,这就是混乱的地方。在这里定义插件版本和默认配置在技术上是有效的,但我发现在关注这个时更容易理解pom指南:

如果插件块没有定义执行(因此绑定maven在生命周期中执行某些操作),请将该块放在pluginManagment中“

一些maven插件仅限于maven版本。 例如,通常这里的项目使用Maven 2.0.4,仅限于使用war插件2.0.2 – 这适用于叠加。 然而,无论Maven 2.0.9使用哪种2.1-alpha都没有 – 所以我们不得不手动降级。 除非另有说明,Maven将尝试根据其版本使用最新版本的插件。