How to get a Maven release to work with git?
Trying to release, I always get this:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------开发者_如何学Python------------------------------------------------------------------
[INFO] Unable to commit files
Provider message:
The git-commit command failed.
Command output:
There is nothing by "command output".
Is there some secret configuration trick to get maven to play nice with git?
The only case I saw where the git-commit command output was empty was on issue 556, where the following solution was proposed:
I had exactly the same problem as you; and:
- removing the
release.properties
and- putting back my
pom
version to aSNAPSHOT
(it was previously changed by the plugin) versionresolved the problem; the process ended successfully.
Like it's being said in the other answer, restoring is done either by doing
mvn release:clean
but since this doesn't always work, so the solution would be to remove release.properties
, and running
mvn versions:set -DnewVersion={version with snapshot}
(This is not necessary if you reset your git repostiory to the state prior to running the release plugin.)
You might also have to remove the commits made by the release plugin, with
git reset --hard HEAD~1
It usually makes two commits, to remove both either run the above command twice, or change the ~1
with ~2
.
To decouple the git stuff from the maven stuff (so that the mvn build doesn't break upon a git error, you could add this to your pom.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<pushChanges>false</pushChanges>
</configuration>
</plugin>
Setting push-changes to false lets you control the git push yourself. (Remember that you also have to push tags, git push --tags
.
Had the exact same problem and both solutions here did not work, until I upgraded from mvn-3.0.4
to mvn 3.2.5
精彩评论