在Windows中更改JAVA_HOME系统变量的脚本

8
我大部分的工作都是在JDK 1.5上完成的,但有时我需要切换到1.6。每当我需要处理特定于某个版本的项目时,手动更改“JAVA_HOME”系统变量有点麻烦(不,Eclipse在这些情况下表现不佳 - 相信我...我已经尝试过了)。
我正在寻找一个注册表脚本或Windows shell脚本,或者任何可以轻松运行并“切换”此系统变量的方法。
我已经尝试过“set”命令,但那只会为该特定命令实例设置变量,而不是全局性的。
提前感谢您的帮助。
编辑#1: 建议要点:
- 在您的路径变量中使用“JAVA_HOME”变量,这样您只需更改“JAVA_HOME”即可(在许多项目中都会使用[maven、ant等]) - 编写一些批处理脚本以便易于使用 - 当您进行更改时,Windows命令会话不会立即反映出来。您必须关闭并重新打开它。

3-d:您可以在脚本中同时使用“set”和“setx”,从而同时为活动用户会话和全局设置相同的环境变量。 - barti_ddu
@barti - 感谢您的帮助,对于我的情况,setx 完美地解决了问题。谢谢! - javamonkey79
1个回答

18

你可以使用 setx 来达到这个目的。

像这样:

setx /M JAVA_HOME "C:\Program Files (x86)\Java\jdk1.6.0_17"

是的,我刚刚注意到那个命令 - 你有一个半成品解决方案吗?(+1) - javamonkey79
setx JAVA_HOME "c:\path" (HKCU) 或者 setx JAVA_HOME "c:\path" -m (HKLM) - barti_ddu
太棒了,我缺少的是'/M'。谢谢! - javamonkey79
1
只是想补充一下,由于我将它放在了几个 .bat 文件中,所以我必须以管理员身份运行它们才能使它们正常工作。谢谢,它很好用! - Osmar
以管理员权限运行 cmd。同时重新打开使用 %JAVA_HOME% 的应用程序或重启计算机以生效。 - CoolMind

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接