Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用pom.xml中的值替换占位符名称_Java_Maven_Pom.xml_Multi Module_Parent Pom - Fatal编程技术网

Java 用pom.xml中的值替换占位符名称

Java 用pom.xml中的值替换占位符名称,java,maven,pom.xml,multi-module,parent-pom,Java,Maven,Pom.xml,Multi Module,Parent Pom,我正在使用多模块项目,我想在我的pom.xml中放置版本的占位符,以便我们的团队成员可以使用命令行构建自己的war/jar,而无需在父pom和子pom中硬编码版本。当前问题是.m2文件夹中的占位符值未更新。请帮助我解决此问题。您可以将属性放入顶级项目的pom.xml中,如下所示: 真的 真的 3 2.2.1 ... 然后,在模块pom.xml中,可以使用变量引用,该引用将替换为实际值。例如: org.datanucleus 数据核核心 ${datanucleus.version} 为了更新

我正在使用多模块项目,我想在我的pom.xml中放置版本的占位符,以便我们的团队成员可以使用命令行构建自己的war/jar,而无需在父pom和子pom中硬编码版本。当前问题是.m2文件夹中的占位符值未更新。请帮助我解决此问题。

您可以将属性放入顶级项目的pom.xml中,如下所示:


真的
真的
3
2.2.1
...
然后,在模块pom.xml中,可以使用变量引用,该引用将替换为实际值。例如:


org.datanucleus
数据核核心
${datanucleus.version}

为了更新pom文件中的占位符值,可以通过以下两个命令完成

 mvn versions:set -DnewVersion="2.1.1"
 mvn versions:commit

完成后,您可以使用常用命令
mvn-package
mvn-install

触发构建,构建应该由像Jenkins这样的CI解决方案完成,而不是手动完成。。。war/jar版本对于识别开发的特定状态至关重要,该状态通常通过版本控制中的标记与开发相关,该标记由pom文件中的版本表示?要处理这个版本,您应该深入研究:这不起作用。它将生成不可消费的pom文件…除此之外,版本
hello
不是一个好的版本选择。@Shivam Som,我也这样做了。但在.m2文件夹中,当我们看到pom时,占位符并没有更新为value@khmarbaise谢谢你指出这一点。重命名版本。理想情况下,是的版本控制应该通过发布管道来处理,并且应该是一个自动化的过程,可以通过Azure DevOps、Jenkins等工具来完成。Dev根据您的要求更新了答案。这会将占位符更新为well@ShivamSom感谢您的更新,但实际上我们在pom中有占位符。我们将从properties标签获得它的主版本,并通过maven命令ex.serv parent${app.version}${subversion}pom发送固定版本