【IDEA】windows环境下IDEA java代码Runtime.getRuntime.exec中shell的执行环境的解决方案

windows环境下IDEA java代码Runtime.getRuntime.exec中shell的执行环境的解决方案

前言

在使用IDEA本地开发监控守护线程的后台,我遇上了执行环境不兼容的问题,爆出各种“xxx不是内部或外部命令,也不是可运行的程序或批处理文件。”,简而言之就是Windows下的CMD默认不识别shell环境下的诸如sh、ssh、cat等命令。这个小demo很小,但是因为公司架构要求前后端分离+docker容器部署,所以这其中的坑还是不少的,执行环境不兼容就是其中额问题之一。

解决办法

下载Git Bash进行安装,安装Git Bash是为了方便我们能在windows环境下执行linux环境下的一些操作。
下载链接:

https://git-scm.com/download/win

安装完成后,我们配置一下环境变量:

//在安装目录下的usr/bin/下就是一些我们常用shell的命令
GIT_HOME=D:\GIT\usr
//再将GIT_HOME添加至path中
%GIT_HOME%\bin;

保存之后打开cmd,随手敲一个shell命令,如pwd命令:

C:\Users\*****>pwd
/c/Users/*****

成功以后就可以重启IDEA,
再进入file->Settings->Terminal-project settings->Environment Variables查看一下环境变量是否已经导入,为了方便在Terminal调试shell命令随便把Shell path也改一下:
在这里插入图片描述
之后再运行到

Process process = Runtime.getRuntime().exec(shell);

时,就能以shell的方式去识别,从而就不会再报错了。

后记

大家在操作的时候有什么问题,可以下方留言交流一下。

发布了31 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Jack_Roy/article/details/103124639