我有一个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
如果使用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 其他语法有可能吗? 谢谢 问题答案: 以前从未见过。您当然 可以 制作自己的预处理器。只要