如何手动设置公共jre?

时间:2014-04-02 09:35:50

标签: java installation

我在Windows上面临以下问题。

我使用java 7.然后我需要使用java 6.我下载jdk 6并安装它。

我设置了JAVA_HOMEPATH个环境变量。

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

我键入了命令where java,我得到了2个字符串:

首先 - 在windows / sytem32中 第二个 - 在程序文件

据我所知,在windows / sytem32 windows中存储公共jre。

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


但我只是从java.exe文件夹中删除javaw.exewindows/sytem32,然后java -version返回java 6.但我担心这种方式不正确。在这种情况下我该怎么做?

2 个答案:

答案 0 :(得分:0)

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

另见: Java Windows7 System32 folder java.exe

我认为这与您的问题相似。我有6和7共存 在没有公共JRE的情况下安装它们后,在我的电脑上没有任何问题。

答案 1 :(得分:0)

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

How do I uninstall Java on my Windows computer?

然后像往常一样安装Java 6.

<强>更新

设置PATH变量只是为您提供对javac以及JDK bin文件夹中其他程序和工具的访问权限。提供java.exe中的\windows\system32\,以便不是每个人都需要设置PATH变量来运行java程序(从命令行)并选择一个版本(最后一个安装它)似乎已安装的java虚拟机(JVM),如果有多个(公开)安装。

此外,我试图在我的机器上继续安装Java 7并发现Java 7的安装默默地删除了Java 6.在进一步深入研究这个方面时,我在Oracle的website上找到了:

  

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

这显然意味着它将取代旧java.exe&amp; javaw.exe更新一个。通过这个系统确保applet将运行在最新且最安全的JRE软件版本上。因此,在JRE是最终用户软件的情况下,此举是合理的,但相反,删除JDK 1.6会导致行为不佳,因为JDK是一个开发人员工具,开发人员应该知道他们在做什么。

来自http://mindprod.com/jgloss/javaexe.html#MULTIPLES

  

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