【发布时间】:2026-02-11 08:45:02
【问题描述】:
之前可能有人问过问题,但我发现了一种非常奇怪的错误。
当我从 bin 运行 mvn --version 命令时,它会给出版本和其他信息。但是,当我在 bin 外运行时,它会给出异常。两个结果都在下面提到
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin>mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21:
28+0530)
Maven home: C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_25\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5>mvn --version
'mvn' is not recognized as an internal or external command,
operable program or batch file.
我还在用户变量中设置了 JAVA_HOME,在系统环境变量中设置了 M2_HOME、M2。这些变量和%path% 的输出是:
C:\Users\SAHILBHALLA>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.7.0_25
C:\Users\SAHILBHALLA>echo %M2%
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin
C:\Users\SAHILBHALLA>echo %M2_HOME%
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5
C:\Users\SAHILBHALLA>echo %path%
C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPow erShell\v1.0\;C:\Program Files\Java\jdk1.7.0_25\bin;.;
告诉我哪里错了。我该怎么做才能从中恢复?
【问题讨论】:
-
你把那些环境变量放到PATH中了吗?
-
是 mvn.exe 在你的 %PATH% 中的位置吗?例如您的第二个 mvn 调用实际上是从您执行第一个的目录向上发生的,所以我猜它不在路径中。改用
bin\mvn作为命令。 -
Marc B 如果我这样做
bin\mvn那么我将无法从任何其他位置(从我的工作区)访问 -
在此处查看解决方案:*.com/a/36601957/2114308
-
可以考虑this related Q/A。请注意(至少对于最近的 Windows)用户(以上)和系统环境变量(例如
path)之间存在差异。 Screenshot here