enter image description here我有一个包含多个模型的项目,当参数本身位于父属性中时,我尝试使用参数定义项目的版本。在所有工件中,它都能正常工作,除了父级的工件之外,我没有得到版本名称,而是得到了参数本身:父pom:
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>parent</artifactId>
<version>${test_version}</version>
<packaging>pom</packaging>
<modules>
<module>../utils</module>
</models>
....
<properties>
<test_version>4.50</test_version>
</properties>
模型pom:
<parent>
<relativePath>../parent</relativePath>
<groupId>com.test</groupId>
<artifactId>parent</artifactId>
<version>${test_version}</version>
</parent>
<artifactId>model</artifactId>
<packaging>ejb</packaging>
<name>Model</name>
工件名称为:
model-4.50.pom
父名称是:
parent-$ {test_version} .pom.lastUpdated
我很乐意提供帮助,以便父级也可以获取参数的值
某些参数具有特殊的“权利”。使用<revision>
代替<test_version>
。
如果您只是想以简单的方法来更新所有模块项目的父pom版本,请使用versions-maven-plugin。 (https://www.mojohaus.org/versions-maven-plugin/index.html)
要在父pom和所有模块上更新父版本:
mvn versions:set -DnewVersion=4.51
如果更改成功:
mvn versions:commit
如果未成功:
mvn versions:revert