gpt4 book ai didi

maven 从命令行覆盖project.version

转载 作者:行者123 更新时间:2023-12-02 12:32:46 25 4
gpt4 key购买 nike

我想知道是否可以通过命令行覆盖maven中的project.version/version变量?

以下方法不起作用:

mvn deploy -Dversion=1.0-test-SNAPSHOT  
mvn deploy -Dproject.version=1.0-test-SNAPSHOT

我的 pom.xml 是:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>just.another.company.name</groupId>
<artifactId>my-pom</artifactId>
<version>1.3-SNAPSHOT</version>
<name>My Module</name>
<packaging>jar</packaging>
<description>POM Project for My Module</description>
</project>

最佳答案

简单来说,您无法覆盖project.version。尝试:

mvn versions:set -DnewVersion=<version>

通常,我首先更新parentPom

mvn versions:set -DnewVersion=1.0.3-SNAPSHOT

如果父 pom 包含所有子项目,这就足够了,否则您将需要转到包含所有子项目的 super 项目并执行

mvn versions:update-child-modules

如果parentPom存在于相对路径中,前面的两个步骤就足够了,否则您将需要使用新版本安装parentPom项目

mvn install

通常,如果您没有模块依赖于另一个模块,这就足够了。如果这样做,请将其版本声明为project.version,这样它就会自动反射(reflect)

<version>${project.version}</version>

检查maven Versions Plugin docs .

关于maven 从命令行覆盖project.version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18100389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com