当前位置: 首页 > 知识库问答 >
问题:

pom.xml中的version属性dynamic

宋运锋
2023-03-14

我有一个Maven pom.xml,我用Jenkins在Nexus中构建项目和可执行jar部署。但我希望根据分支名称的版本名称的变化。

<groupId>net.test</groupId>
<artifactId>test-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>iin-parent</name>
<packaging>pom</packaging>
<groupId>net.test</groupId>
<artifactId>test-parent</artifactId>
<version>BranchName_0.0.1-SNAPSHOT</version>
<name>iin-parent</name>
<packaging>pom</packaging>
enter code here

共有1个答案

吕和风
2023-03-14

如果使用clean compile package deploy,则复制了多个部分。只需要clean deploy。请阅读有关Maven生命周期的文档。

此外,如果您希望动态更改版本,可以使用正确的属性(从Maven 3.5.0+)来实现,这些属性是${revision}${sha1}${changelist},例如:

<groupId>net.test</groupId>
<artifactId>test-parent</artifactId>
<version>${revision}</version>

<properties>
  <revision>1.0-SNAPSHOT</revision>
</properties>

在Maven中可以这样做:

mvn -Drevision=2.0-SNAPSHOT clean package

或者,如果您想为分支这样做:

mvn -Drevision=2.0-BranchName-SNAPSHOT clean package

您必须知道,如果您想做MVN清理部署,请仔细阅读文档并遵循它们。

 类似资料:
  • XSD规范https://www.w3.org/TR/xmlschema11-1/#declare-schema没有为属性指定语义学: 其他属性(和)是为了方便用户,本规范没有定义它们的语义。 W3C版本控制指南https://www.w3.org/TR/xmlschema-guide2versioning/. 该属性是否应用于指定XML架构文档的版本(例如,2.3.1)或用于编写架构文档的XSD

  • 那么不能将父版本定义为maven属性吗?

  • 我正在使用maven项目进行UI自动化,我需要在多个环境和多个浏览器中运行一些测试。我已经创建并添加了pom.xml文件,并声明了其中的属性。但是当我通过终端执行它时,我得到了错误。我用的命令- 错误-[信息]扫描项目...[ERROR][ERROR]处理POM时遇到一些问题:[FATAL]不可解析POM d:\work\cucumber_projects\ui-automation-projec

  • 问题内容: 我已经看到过这种表示法使用了很多东西,我想知道,这两种表示法之间有什么显着区别吗? 和 我一直都在使用,因为我觉得它看上去更干净,但是我不太确定浏览器的解释是否不同于。 有谁知道哪个更好或更正确? 问题答案: 当单位为时,虽然单位是可选的,但我倾向于将其保留,因为然后我可以使用Chrome的开发者工具通过点击值并按向上/向下箭头键来调整值。没有单位,这实际上是不可能的。 此外,CSS缩

  • 问题内容: 我为该标题表示歉意。我找不到更好的方法来解释这种情况。 我使用URL http://www.exampledepot.com/egs/java.util/Props.html中所述的Property类加载属性文件。 我的问题是我可以在该属性文件中使用属性吗? 例: test.properties 其他语法有可能吗? 谢谢 问题答案: 以前从未见过。您当然 可以 制作自己的预处理器。只要