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 条评论
登录 后参与评论

相关文章

来自专栏Pulsar-V

Core Linux折腾(一)[一]

目录 Core Linux折腾(一)[一] Core Linux折腾(一)[二] Core Linux折腾(二) Core Linux折腾(三) Co...

2685
来自专栏SpringBoot 核心技术

第十一章:实现SpringBoot单个、多个文件的上传本章目标构建项目总结

1272
来自专栏逸鹏说道

jenkins配置.net mvc网站

jenkins配置.net mvc网站 上一篇使用jenkins配置.net mvc网站进行持续集成一只是简单介绍了jenkins构建站点到本地服务器,这一篇,...

3306
来自专栏从零开始学自动化测试

python笔记25-mock-server之moco环境搭建

mock除了用在单元测试过程中,还有一个用途,当前端开发在开发页面的时候,需要服务端提供API接口 此时服务端没开发完成,或者说没搭建测试环境,这个时候前端开发...

842
来自专栏Kirito的技术分享

java实用小技巧(一)--远程debug

该系列介绍一些java开发中常用的一些小技巧,多小呢,从不会到会只需要一篇文章这么小。这一篇介绍如何使用jdk自带的扩展包配合Intellij IDEA实现远程...

2584
来自专栏java小白

IDEA快捷键生成serialVersionUID

1936
来自专栏Coding01

VUE 完整项目构建 -- 进阶篇

执行下述代码,即可完成项目基础构建(已配置好webpack、依赖包的安装、基本目录的生成)。

762
来自专栏破晓之歌

mysql添加新的用户 原

1.mysql用户密码修改,用户添加、删除及设置权限:https://www.cnblogs.com/hzd2010/p/5681453.html

833
来自专栏smy

gulp rev manifest 添加目录前缀

gulp-rev 生成的manifest默认为: "index.css": "index.css?v=04aff97a7b",   为避免同名文件覆盖版本号,对...

2676
来自专栏架构之路

Linux下的make命令用法

Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问...

2754

扫码关注云+社区