[英]Using maven-release-plugin with git-1.8.5
當使用git-1.8.5,maven-release-plugin(使用版本2.4.2和2.3.2測試)和mvn(使用版本3.1.1和3.0.5測試)時,運行mvn release:prepare
和mvn release:prepare-with-pom
失敗。
mvn release:prepare
無法創建它應該創建的提交:
[maven-release-plugin]為下一次開發迭代做准備
[maven-release-plugin]准備發布foo-1.0.0
和mvn release:prepare-with-pom
因git錯誤而失敗:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare-with-pom (default-cli) on project foo: Cannot remove release POMs from SCM
[ERROR] Provider message:
[ERROR] The git command failed.
[ERROR] Command output:
[ERROR] error: the following file has changes staged in the index:
[ERROR] release-pom.xml
[ERROR] (use --cached to keep the file, or -f to force removal)
[ERROR] -> [Help 1]
[ERROR]
根據Mark Derricutt的解決方案 ,明確將maven-scm-provider-gitexe:1.8.1依賴項添加到maven-release-plugin:2.4.2插件:
<build>
<plugins>
<!-- ... -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.4.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<!-- This version is necessary for use with git version 1.8.5 -->
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
背景:
git status
格式的重大改變,所以現在像maven-release-plugin這樣的腳本應該使用瓷器選項git status --porcelain
而不是git status
。 maven-scm-provider-gitexe:1.8
with maven-release-plugin:2.4.2 。 --porcelain
標志,但maven-release-plugin:2.4.2對maven-scm-provider沒有依賴性-gitexe已更新。 有關詳細信息,請參閱https://jira.codehaus.org/browse/SCM-686 。 這似乎已在3月5日發布的maven-release-plugin 2.5版本中得到修復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.