Java 如何手动设置公共jre?
我在Windows上遇到以下问题 我用的是Java7。然后我需要使用Java6。我下载JDK6并安装它 我设置了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版本 但是
JAVA\u HOME
和PATH
环境变量
但在它之后,我尝试在cmd中键入java-version
。我得到了答案——java-7
我键入commandwhere 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
以及JDKbin
文件夹中的其他程序和工具。提供了\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?