所以我的问题是...如何使用我当前所在的分支名称作为项目中依赖项版本的一部分?
从这里开始就是我所拥有的。
我有三个分支机构。大师,阿尔法和贝塔。
在每个项目下,都有一个通用的依赖项,称为automation-jar.jar ...。还有两个其他客户端项目使用该 jar 文件作为依赖项。
示例: Automation-jar pom.xml 文件
<groupId>com.example.jarfile</groupID>
<artifactId>example-jar</artifactId>
<version>${branch.name}-SNAPSHOT</version>
示例:客户端项目 1 - pom.xml(使用自动化 jar 作为依赖项)
<dependency>
<groupId>com.example.jarfile</groupID>
<artifactId>example-jar</artifactId>
<version>${branch.name}-SNAPSHOT</version>
</dependency>
我可以使用指定的“branch.name”部署 jar 文件,没问题......我的问题是,如何使版本快照足够通用,不会导致 Git 中的 merge 冲突?
例如,如果我硬编码 <version>
至master-SNAPSHOT
或Alpha-SNAPSHOT
, merge 分支时会产生冲突。
有什么想法吗?
提前致谢!
最佳答案
尝试包含以下插件
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后您可以使用 ${scmBranch} 作为branchName
http://www.mojohaus.org/buildnumber-maven-plugin/usage.html
<dependency>
<groupId>com.example.jarfile</groupID>
<artifactId>example-jar</artifactId>
<version>${scmBranch}-SNAPSHOT</version>
</dependency>
关于java - 如何将 Git 分支名称作为 pom.xml 中依赖版本的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39841067/