Java 如何手动设置公共jre?

Java 如何手动设置公共jre?,java,installation,Java,Installation,我在Windows上遇到以下问题 我用的是Java7。然后我需要使用Java6。我下载JDK6并安装它 我设置了JAVA\u HOME和PATH环境变量 但在它之后,我尝试在cmd中键入java-version。我得到了答案——java-7 我键入commandwhere java,得到了两个字符串: 第一个-在windows/sytem32中 二进位程序文件 正如我在windows/sytem32中所理解的,windows存储公共jre 在这种情况下,如何正确地将公共JRE替换为6版本 但是

我在Windows上遇到以下问题

我用的是Java7。然后我需要使用Java6。我下载JDK6并安装它

我设置了
JAVA\u HOME
PATH
环境变量

但在它之后,我尝试在cmd中键入
java-version
。我得到了答案——java-7

我键入command
where java
,得到了两个字符串:

第一个-在windows/sytem32中 二进位程序文件

正如我在windows/sytem32中所理解的,windows存储公共jre

在这种情况下,如何正确地将公共JRE替换为6版本



但是我只是从
windows/sytem32
文件夹中删除
java.exe
javaw.exe
,然后
java-version
返回Java6。但我感到震惊的是,这种方式是不正确的。在这种情况下我该怎么办?

我建议您根本不要安装公共JRE

另见此处:

我认为这与你的问题相似。我有6个和7个同时存在

在没有公共JRE的情况下安装后,在我的PC上没有任何问题

按照以下链接以干净地卸载Java 7:

然后像往常一样安装Java6

更新:

设置
PATH
变量只允许您访问
javac
以及JDK
bin
文件夹中的其他程序和工具。提供了
\windows\system32\
中的
java.exe
,因此并非每个人都需要设置
PATH
变量才能运行java程序(从命令行)并选择已安装的java虚拟机(JVM)的版本(看起来是最后一个安装的版本),前提是安装了多个(公开的)java虚拟机

此外,我尝试在我的机器上继续安装Java7,发现Java7的安装悄悄地删除了Java6。在深入研究这一方面后,我在Oracle的网站上发现:

Java自动更新机制旨在保持Java用户 最新的安全修复程序。为了实现这一目标, 依赖Java自动更新机制的Windows用户将拥有 他们的JRE 6被JRE 7取代

这显然意味着它将用新的
java.exe
&
javaw.exe
替换旧的
java.exe。通过这样做,系统可以确保小程序在最新和最安全的JRE软件版本上运行。因此,在最终用户软件JRE的情况下,这种做法是合理的,但相比之下,删除JDK1.6将是糟糕的行为,因为JDK是一种开发工具,开发人员应该知道他们在做什么

引自

使事情进一步复杂化的是,system32中的java.exe只是一个虚拟文件。 它查看注册表,然后决定使用哪个真正的java.exe。 最后安装的JVM将成为使用的JVM,即使它较旧。 要切换JVM,通常必须重新安装所需的JVM


我需要两个版本都有避免删除java的方法。是否可以只删除公共JRE?