问题描述
我正在与多模块项目一起工作,我想将占位符放置在pom.xml中,以便我们的团队成员可以使用命令行构建自己的war / jar,而无需在父pom和子pom中对版本进行硬编码。当前问题是.m2文件夹中的占位符值未更新。请帮助我解决这个问题。
解决方法
为了更新pom文件中的占位符值,可以通过以下两个命令来完成
mvn versions:set -DnewVersion="2.1.1"
mvn versions:commit
完成后,您可以使用常规命令mvn package
或mvn install
触发构建
您可以将属性放在顶级项目的pom.xml中,如下所示:
<project>
<!-- other stuff ... -->
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
<jdo.version>3.0</jdo.version>
<datanucleus.version>2.2.1</datanucleus.version>
</properties>
...
</project>
然后在模块pom.xml中可以使用变量引用,该变量引用将替换为实际值。例如:
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>${datanucleus.version}</version>
</dependency>