我已设置JAVA_HOME
变量
而且我也设置了路径变量:
C:\>set java_home
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_38
C:\>set path
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\To
rtoiseSVN\bin;%JAVA_HOME%\bin;C:\Program Files\apach\apache-maven-3.2.3\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
C:\>java -version
'java' is not recognized as an internal or external command,
operable program or batch file.
C:\>
这样就无法识别java了。
让我们改变一下(用%JAVA_HOME%\bin
替换C:\Program Files\Java\jdk1.6.0_38\bin
):
C:\>set java_home
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_38
C:\>set path
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\To
rtoiseSVN\bin;C:\Program Files\Java\jdk1.6.0_38\bin;C:\Program Files\apach\apache-maven-3.2.3\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
C:\>java -version
java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
这样做很好。
我错了什么?
答案 0 :(得分:1)
"%JAVA_HOME%\bin"
是一个完全有效的目录名称。 cmd
需要先评估其价值才能使用。
call set path=%path%
应该适合你。
扩展
path
加载了system
值,然后与'用户'合并。值,当路径中的任何%var%被其当时的当前值替换时。如果您在路径中添加另一个%var%
(例如,作为"用户"变量),则需要重新评估以解析该值。
结果是:如果路径包含要解析的值,则将路径设置为系统变量,而不是用户变量。