0

在 Windows 8 上,我有一个包含以下内容的 bat 文件:

@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_39
echo setting PATH
set PATH=C:\Program Files\Java\jdk1.6.0_39\bin;%PATH%
echo Display java version
java -version

我试图用它来切换java版本。当我运行 .bat 文件时,它将版本输出为 1.6.0_39,但实际上并没有切换版本。相反,每次我想使用不同的版本时,我都必须手动更改路径变量。我设置路径的方式有问题吗?当我在运行它之后查看路径环境变量时,它看起来并没有改变,你会认为它会相当明显......

当前版本:

@echo off
echo Setting JAVA_HOME
setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_09"
echo Display java version
java -version

与 %JAVA_HOME%\bin; 在我的路径变量的前面。似乎没有在看 %JAVA_HOME%

4

2 回答 2

3

该语句仅为当前进程SET设置环境变量。

设置环境变量的全局(默认)值,使用setx.

请注意,甚至setx不会影响现有进程,因此您只会在新的命令提示符窗口中注意到更改。

于 2013-02-15T14:21:24.847 回答
0

通常不支持 SETX。您还可以更改注册表设置。看>>这篇文章

于 2013-02-15T14:30:17.310 回答