maven:release:prepare报错Cannot run program "bash"

今天执行mvn release:prepare做版本发布的时候报了一个莫名其妙的错误:

[ERROR] Caught exception in FS.readPipe()
java.io.IOException: Cannot run program "bash" (in directory "C:\Users\10km"): CreateProcess error=2, ?????????
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
        at java.lang.Runtime.exec(Runtime.java:617)
        at org.eclipse.jgit.util.FS.readPipe(FS.java:431)
        at org.eclipse.jgit.util.FS_Win32.discoverGitPrefix(FS_Win32.java:113)
        at org.eclipse.jgit.util.FS.gitPrefix(FS.java:517)

google一下,瞬间明白了原因:
其实不google也应该能看明白错误信息,就是没有找到git shell的bash脚本解释器。
我是在windows下开发的,安装了git。
安装过git就应该了解windows git 有两种运行方式一种是cmd命令行执行,这种情况需要将git添加到cmd环境变量中,这种方案需要修改环境变量,但可以在直接在命令行运行git命令。
另一种方式就是在git自带的MSYS shell中运行,这种方案不需要修改环境变量,但git命令不能在cmd中运行。
maven:release:prepare报错Cannot run program

我不想在环境变量中加太多东西,所以我选择了第二种方案,所以maven在运行Git命令的时候,找不到C:\Program Files\Git\usr\bin\bash.exe(没有被添加到%PATH%环境变量),所以抛出了异常。
怎么办呢?不能让我再把git重装一次吧?
其实知道原因了,解决的办法也很简单:
在git shell中运行maven
如下图:
maven:release:prepare报错Cannot run program

你可能感兴趣的:(开发工具)