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了。