如何升级maven插件的版本?

joh*_*tok 28 java build-process maven-2 maven-ear-plugin

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

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

Pat*_*Pat 44

虽然这已经得到了"批准的答案",但事实证明有这个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中搜索所有版本较新的版本,并用最新版本替换它们.


and*_*dri 15

默认插件版本继承自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>
Run Code Online (Sandbox Code Playgroud)

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

  • 好的,我在这里找到了问题的答案:http://stackoverflow.com/questions/25155639/how-do-i-force-maven-to-use-maven-install-plugin-version-2-5 (2认同)

Bri*_*Fox 8

如何插件的版本选择,约在superpom插件版本中详细说明了讨论一起在这里.

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

<project>
  <build>
   <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.1</version>
      </plugin>
    </plugins>
   </pluginManagement>
  </build>
</project>
Run Code Online (Sandbox Code Playgroud)

在这里解释了原因:

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

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