以下是Windows上的原始路径配置:
set Path=C:\Program Files\Java\jre1.7.0_80\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
我删除了JRE的路径条目,我的路径如下:
set Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
但我仍然明白这一点:
C:\tmp> java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
为什么Windows不会像这样反映路径条目的删除?我该如何删除路径条目?
(我的意图:我的应用程序希望Java已安装在用户和机器上;我想测试我的应用程序显示非Java安装机器的正确错误消息;所以我想通过以下方式模拟非Java安装环境删除JRE的系统路径条目;我知道我可以用另一种方式模拟它,但我只是好奇在Windows中导致这种行为的原因。)
答案 0 :(得分:1)
我使用@HarryJohnston @LotPings建议的 where java ,我得到了这个;
C:\ Windows \ System32下\的java.exe
C:\ Program Files \ Java \ jdk1.7.0_80 \ bin \ java.exe
问题出在其他地方; java.exe存在于2个不同的路径条目中
因此,在Windows中模拟非Java安装系统似乎无法通过仅操作本地(甚至是全局!)系统中的路径环境变量来实现......
暂时重命名以上的exe文件;
当然,在执行此操作之前,您应该使用JVM关闭或暂停任何进程或服务。
答案 1 :(得分:0)
您应该在Java.com网站上看到:"How do I set or change the PATH system variable?"。
Windows 10和Windows 8
您也可以使用setx
命令。