是否有可能在不操作POM文件的情况下更改Maven项目的版本?
假设我有一个版本为1.5.0-SNAPSHOT
的Maven项目,但我想将其构建为1.5.46
。
Versions Maven Plugin不幸修改了POM文件。
答案 0 :(得分:1)
尝试使用
覆盖项目版本mvn versions:set -DnewVersion=<version>
在您的特定情况下:
mvn versions:set -DnewVersion=1.5.46
答案 1 :(得分:1)
从Maven 3.5.0开始,可以使用特殊的预定义属性${revision}
。用默认值定义属性(例如1.5.0-SNAPSHOT
),并在需要时在执行期间将其设置为特定版本(例如1.5.46
)。
例如,在您的pom.xml
中定义以下内容:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>foo</artifactId>
<name>Foo Module</name>
<version>${revision}</version>
...
<properties>
<revision>1.5.0-SNAPSHOT</revision>
</properties>
</project>
使用默认值进行构建:
mvn clean install
这将产生一个标识为org.example:foo:1.5.0-SNAPSHOT
的工件。
要构建特定版本,请设置revision
属性,例如:
mvn clean install -Drevision=1.5.46
这将产生一个标识为org.example:foo:1.5.46
的工件。
有关更多详细信息,请参见Maven CI Friendly Versions页。
答案 2 :(得分:0)
你可以
https://jenkins.server/jenkins/job/job-name/changes
temppom.xml
temppom.xml
构建。mvn -f temppom.xml
。答案 3 :(得分:0)
Maven支持交付友好版本,请参阅https://issues.apache.org/jira/browse/MNG-5576。 有关详细信息,我建议与@khmarbaise交谈
答案 4 :(得分:0)
该插件提供了一个还原其所做更改的目标:
mvn versions:revert