我希望能够做到这样的事情:
mvn release:branch -DbranchName=${project.version}
我确信这不会奏效,我会就如何实现它寻求帮助。 mvn release:branch需要branchName。我需要在命令行参数上使用branchName,将项目版本作为值。我的pom看起来像这样:
<profile>
<id>branch</id>
<activation>
<property>
<name>branchName</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<tagNameFormat>v@{project.version}-beta</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
<suppressCommitBeforeBranch>true</suppressCommitBeforeBranch>
<remoteTagging>false</remoteTagging>
</configuration>
</plugin>
</plugins>
</build>
</profile>
仅当命令行参数中存在branchName时才会触发此配置文件。
感谢您的帮助。
编辑:更新后的广告
<profile>
<id>branch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<branchName>@{project.version}</branchName>
<tagNameFormat>v@{project.version}-beta</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
<suppressCommitBeforeBranch>true</suppressCommitBeforeBranch>
<remoteTagging>false</remoteTagging>
</configuration>
</plugin>
</plugins>
</build>
</profile>
答案 0 :(得分:1)
删除<activation>
节,并在您的情况下执行
mvn release:branch -P branch
这是你应该需要的全部,因为你在配置中有硬编码${project.version}
。
${project.version}
命令从外部开始或解析mvn
,则无法获取pom.xml
。要创建分支,请执行以下命令:
mvn release:branch -DbranchName=my-branch
默认情况下,新分支中的POM与版本保持相同的版本 本地工作副本,本地POM增加到下一个 修订。如果要更新新分支中的版本而不是更新 工作副本,运行:
mvn release:branch -DbranchName=my-branch -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false