模块和依赖的Maven的uppdate版本的模块,用它(Maven uppdate version

2019-10-28 20:30发布

我与更新模块的版本挣扎。 我的项目是巨大的(约50个模块),但我将简化它为例purpouse。

-moduleA
  -moduleA1
    -pom.xml
  -pom.xml
-moduleB
  -moduleB1
    -pom.xml
  -pom.xml
-pom.xml

我想做的事。 让我们假设在每一个pom.xml的一个版本 - 5.0.0。 ModuleA1 pomx的样子:

<parent>
    <groupId>com.sample.project</groupId>
    <artifactId>moduleA</artifactId>
    <version>5.0.0</version>
</parent>
<groupId>com.sample.project.moduleA</groupId>
<artifactId>moduleA1</artifactId>
<version>5.0.0</version>

现在,我想增加moduleA1的版本。 所以...

mvn -N versions:set -DnewVersion=5.0.1 -DgroupId=com.sample.project.moduleA -DartifactId=moduleA1

ModuleB1有依赖于moduleA1

<parent>
    <groupId>com.sample.project</groupId>
    <artifactId>moduleB1</artifactId>
    <version>5.0.0</version>
</parent>
<groupId>com.sample.project</groupId>
<artifactId>moduleB1</artifactId>
<version>5.0.0</version>
<dependency>
        <groupId>com.sample.project.moduleA</groupId>
        <artifactId>moduleA1</artifactId>
        <version>5.0.0</version>
</dependency>

这种依赖性的版本应该更新,这是但只在第一次*当版本是一样的父母)。 如果我想更新它5.0.2这种依赖性不会改变它会留5.0.1(仅指出moduleA1将更新为5.0.2),我试图用dependencyManegement但结果却是完全一样的。 任何想法如何强制行家更新尖模块及其对其他模块模块的依赖呢?

Answer 1:

使用${project.version}在所有模块的依赖,你必须是一致的和最新的版本。



Answer 2:

最后,我找到了解决办法。 关键是要oldVersion参数设置为以前的版本。 否则版本:组将使用$ {} project.version而这方式更新版本的工作是第一次,因为模块的版本是一样的project.version。



文章来源: Maven uppdate version of module and dependencies in modules that use it