idea中的终端terminal使用Maven报错 : mvn : 无法将“mvn”项识别为 cmdlet函数脚本文件或可运行程序的名称。

Posted Fourier_1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea中的终端terminal使用Maven报错 : mvn : 无法将“mvn”项识别为 cmdlet函数脚本文件或可运行程序的名称。相关的知识,希望对你有一定的参考价值。

0. 前言

如题,idea自动给我安装了Maven,直接在idea中执行一些Maven操作(例如右击porm.xml reload)并不会报错,但使用terminal输入类似mvn install的命令就会报错。

1. 原因

首先解析错误信息,报错信息显示的时计算机并没有找到mvn命令。mvn命令运行的本质是计算机调用Maven安装文件中的mvn.cmd文件,这个报错的原因是计算机并没有找到这个文件。那么如何让计算机找到它呢?答案很简单,将其添加到环境变量中即可。

添加环境变量的过程如下:

  • 打开 Maven 的安装目录,例如 C:\\apache-maven-。
  • 复制该目录的路径,例如 C:\\apache-maven-\\bin。
  • 打开“控制面板”,并点击“系统和安全”。
  • 选择“系统”,然后点击“高级系统设置”。
  • 在“系统属性”对话框中,选择“高级”选项卡,然后点击“环境变量”按钮。
  • 在“环境变量”对话框中,选择“系统变量”区域,然后找到“Path”变量,双击该变量。
  • 在“编辑环境变量”对话框中,点击“新建”按钮,然后将 Maven 的安装目录路径粘贴到输入框中。
  • 点击“确定”按钮保存修改,然后关闭所有打开的对话框。

这时候在任意一个terminal中(终端、控制台)直接运行mvn -v命令就可以了。

2. 一些关键问题

2.1 如何找到Maven的安装路径

如果你自己安装过Maven,可以去Maven安装的大概路径搜索mvn.cmd文件。如果你没有安装过,是idea自带的,可以查看idea中的设置,查找过程如下:

  • 在IDEA的主界面中,选择Settings/Preferences(Windows/Linux: Ctrl+Alt+S;Mac: Command+,)。
  • 在左侧面板中,选择Build, Execution, Deployment > Build Tools > Maven.
  • 在右侧面板中,找到Maven home directory选项,即可看到Maven的安装路径。

不过这时你可能看到的路径为Bundled (Maven 3),并没有具体的绝对路径,而Maven可以在idea正常使用的话,idea是自动为你安装了Maven。如果想找到其安装路径,只需要去idea的安装路径中搜索mvn.cmd文件。

2.2 如果安装路径中有空格

比较难受的是,window并不支持环境变量中的空格,如果idea在安装时没有命名文件夹的名称,很可能是形如IntelliJ IDEA Community Edition 2022.2的文件夹名称,直接加入到环境变量中并不会被计算机识别。而随便修改文件夹的名字可能使idea运行出现问题,需要寻找新的解决方案(拒绝重装)。

这个问题可以通过建立文件链接来解决。和Linux系统一样,window系统也是可以创建文件链接。使用mklink命令:

我在c盘下新建了link文件夹,在link文件夹下,执行以下命令:

mklink /J idea "D:\\software\\IntelliJ IDEA Community Edition 2022.2"

其中D:\\software\\IntelliJ IDEA Community Edition 2022.2是我的idea安装目录。

接着按照本文第一部分,将环境变量改为

C:\\link\\idea\\plugins\\maven\\lib\\maven3\\bin

其中\\plugins\\maven\\lib\\maven3\\bin是idea自动安装的Maven中,mvn.cmd文件所在的目录。

之后就可以愉快的在terminal中使用Maven了。

遇到问题--java--mac版本的idea在控制台中使用mvn命令not found

情况

新建了一个maven的项目,默认使用的idea的maven3插件,idea项目中可以正常的下载jar包。

但是点击 idea中的Terminal终端 想要进行项目打包时使用命令

mvn clean package -Dmaven.test.skip=true

报错如下:

zhangxiaofans-MacBook-Pro:flink-job joe$ mvn clean package -Dmaven.test.skip=true
bash: mvn: command not found

原因

mac下没有配置maven的环境变量。

导致系统层面的终端控制台无法识别到maven的命令。

idea自带的maven3只在idea中生效。

解决方案

把maven3的环境变量配置到 系统(用户)环境变量中

以下环境变量任选

Mac系统的环境变量
一、 /etc/profile (系统级别,系统启动就会加载)
二、 /etc/paths (系统级别,系统启动就会加载)
三、 ~/.bash_profile (用户级别首先执行,如果存在该文件,忽略后续文件)
四、 ~/.bash_login (用户级别 第二执行)
五、 ~/.profile (用户级别 第三执行)
六、~/.bashrc (用户级别 第四执行)

首先要找到idea自带的maven3地址

点击idea的prefer

以上是关于idea中的终端terminal使用Maven报错 : mvn : 无法将“mvn”项识别为 cmdlet函数脚本文件或可运行程序的名称。的主要内容,如果未能解决你的问题,请参考以下文章

IDEA 启动编译clean安装maven等报错Process terminated

idea 报错maven [ERROR] Maven execution terminated abnormally (exit code 1)

遇到问题--java--mac版本的idea在控制台中使用mvn命令not found

遇到问题--java--mac版本的idea在控制台中使用mvn命令not found

遇到问题--java--mac版本的idea在控制台中使用mvn命令not found

IDEA插件系列(103):Native Terminal插件——本地终端