在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,但实际上并没有切换版本。相反,每次我想使用不同的版本时,我都必须手动更改路径变量。 我设置路径的方式有问题吗?当我在运行它之后查看路径env变量时,看起来它看起来并没有改变,你会认为它会非常明显......
当前版本:
@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%
答案 0 :(得分:3)
SET
语句仅为当前进程设置环境变量。
设置环境变量的全局(默认)值,使用setx
。
请注意,即使setx
也不会影响现有流程,因此您只会注意到新命令提示符窗口中的更改。
答案 1 :(得分:0)
通常不支持SETX。您还可以更改注册表设置。见>> this post