我在Windows上面临以下问题。
我使用java 7.然后我需要使用java 6.我下载jdk 6并安装它。
我设置了JAVA_HOME
和PATH
个环境变量。
但之后我尝试在cmd中输入java -version
。我得到了答案 - java -7。
我键入了命令where java
,我得到了2个字符串:
首先 - 在windows / sytem32中 第二个 - 在程序文件
据我所知,在windows / sytem32 windows中存储公共jre。
在这种情况下,如何正确地将公共JRE替换为6版?
但我只是从java.exe
文件夹中删除javaw.exe
和windows/sytem32
,然后java -version
返回java 6.但我担心这种方式不正确。在这种情况下我该怎么做?
答案 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。