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在运行Git命令的时候,找不到C:\Program Files\Git\usr\bin\bash.exe(没有被添加到%PATH%环境变量),所以抛出了异常。 怎么办呢?不能让我再把git重装一次吧? 其实知道原因了,解决的办法也很简单: 在git shell中运行maven。 如下图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JetpropelledSnake

ELK学习笔记之CentOS 7下ELK(6.2.4)++LogStash+Filebeat+Log4j日志集成环境搭建

现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效...

1513
来自专栏FreeBuf

Apache Tomcat再曝远程代码执行(CVE-2016-8735)

时隔十月发布的CVE-2016-5425 Apache Tomcat本地提权漏洞预警不久,近日Apache Tomcat又被爆出存在远程代码执行漏洞(CVE-2...

26110
来自专栏假装我会写代码

又一篇 Deployer 的使用攻略

1816
来自专栏https://www.cnblogs.com/L

【Spark篇】---Spark中Master-HA和historyServer的搭建和应用

                Standalone集群只有一个Master,如果Master挂了就无法提交应用程序,需要给Master进行高可用配置,Mast...

901
来自专栏xingoo, 一个梦想做发明家的程序员

Beats数据采集---Packetbeat\Filebeat\Topbeat\WinlogBeat使用指南

Beats是elastic公司的一款轻量级数据采集产品,它包含了几个子产品: packetbeat(用于监控网络流量)、 filebeat(用于监听日志数...

4349
来自专栏为数不多的Android技巧

把Sublime添加到Mac右键菜单

虽然大部分的时候是使用命令行,但是有些时候我们需要在Finder里面编辑某些文件的时候,如果还是拘泥于这样,就必须打开 iTerm (幸好有Profile可以一...

2061
来自专栏大魏分享(微信公众号:david-share)

对,俺差的是安全! | 从开发角度看应用架构18

在Gartner定义的“第三平台”盛行的年代,html5大行其道。所以http方式访问的应用很多。因此,谈到应用的安全,我们先要了解http的几种认证方式。

591
来自专栏小俊博客

DNSmasq详细解析及详细配置

Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。...

3.4K2
来自专栏七夜安全博客

Django基础篇--搭建开发环境

1504
来自专栏Debian社区

Debian 9 安装配置 Caddy Server

Caddy 是一个用 Golang 开发的高效 Web Server,相比 Nginx,它的配置和使用要简单很多,能自动开启 HTTPS、并且支持 HTTP/2...

1922

扫码关注云+社区