我正在尝试使用 VS Code 创建一个 Maven 项目,但是当我运行命令时它显示:
'mvn' is not recognized as an internal or external command,operable program or batch file.
但是
mvn -version
正在命令提示符下运行
用户的环境变量:
MAVEN_JOME : C:\apache-maven-3.6.1
,M2_HOME : C:\apache-maven-3.6.1
,JAVA_HOME : C:\Program Files\Java\jdk1.8.0_212\jre
和系统变量
path
对于 maven 和 java 分别设置为 C:\apache-maven-3.6.1\bin
、C:\Program Files\Java\jdk1.8.0_212\bin
。
我运行来创建项目的命令是:
mvn archetype:generate -DgroupId=com.cs.test-project -DartifactId=test-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
命令参考
以及 VS 代码 命令参考
在命令提示符中运行相同的命令,并在桌面上成功创建项目。
我通过简单地重新启动 VSCode 解决了这个问题,因为我在 VSCode 运行时设置了 PATH 变量,因此更改不会反映到 VSCode 集成终端,直到我重新启动它。
这有点违反直觉,因为路径必须指向实际的 mvn 命令,而不是 M2_PATH 文件夹。此外,一旦正确指向,如果您的环境在 JAVA_HOME 中缺少正确的 jdk,将会显示一个新错误。该错误是由maven 引发的。 Maven 插件有点愚蠢,因为它会忽略在 settings.json (java.home 或/和 java.configuration.runtimes 属性)中配置的默认 JDK,并且很乐意不为 Maven 设置 java。你必须专门为 Maven 插件配置它,如下所示:
"maven.executable.path": "c:\\apache-maven-3.8.1\\bin\\mvn",
"maven.terminal.customEnv": [{
"environmentVariable": "JAVA_HOME",
"value": "c:\\openjdk-1.8.0_232-redhat",
}]
当然,两个路径都应指向您环境中正确的文件夹/文件。
2022 年 10 月 25 日星期二,在尝试解决同样的问题时,我浏览了所有这些以前的 Windows 解决方案,最后不得不求助于官方安装文档:
解压download并找到bin目录,然后将该目录位置手动添加到我的:系统属性>高级>环境变量>“路径”
为了更好的测量,请重新启动计算机。
我使用的是Ubuntu 20.0。
在我的例子中,我手动将 Maven 二进制目录的路径添加到
$PATH
变量中。我不小心只将其添加到 shell 中的环境变量中,而不是添加到用户会话中。
还要确保您使用的是可以从 Maven 网站下载的官方二进制文件,而不是 Ubuntu APT 软件包,因为那个版本太旧了,不适合我。
假设 Maven 可执行文件已存储在
~/apache-maven/bin
中。然后您可以通过添加 ~/.profile
来编辑 export PATH+=":$HOME/apache-maven/bin"
。
重新启动计算机,然后,当您登录到您的个人资料时,程序和 VSCode 应该可以看到
mvn
。