最近,我通过更新过程更新了JRE(chrome(版本38.0.2125.104 m))提供的(“您的java已过时并需要更新”或类似内容)。结果是我的月食Luna(64位)不再执行。仔细查看我检测到的背景:chrome java更新程序(notabene从Oracle站点启动)在env var PATH前添加了C:\ ProgramData \ Oracle \ Java \ javapath。该文件夹包含三个符号链接,指向(x86)程序文件夹中的最新java 8 JRE安装 - >因此指向32位java JRE。为什么Chrome Java更新程序在64位计算机上安装全局32位JRE?
很显然,Oracle取代了(使用Java8)旧技术 - 在system32(用于64位应用程序)中使用java启动程序。 SysWOW64(用于32位应用程序) - 采用这种新方法。但是:在这些位置仍然存在“旧”java.exe/javaw.exe/javaws.exe,尤其是实际版本(与新符号链接相同的文件日期)。
我的问题是: a)在64位机器上安装全局32位JRE的原因是什么? b)是否有更好的方法来解决问题,而不仅仅是删除新的路径条目?
我不知道为什么铬会给你32位版本,但它不该”考虑到32位应该在64位体系结构上运行,这真的很重要。至于日食问题看看这个问题http://stackoverflow.com/questions/16394822/setting-up-eclipse-with-jre-path – 2014-10-22 07:16:48
如果你正在运行一个32位版本的Chrome,然后一个32位版本的Java将被下载。点击Chrome查看它是否包含(64位)。 – Frunk 2014-10-22 08:40:53
@Frunk:你说得对。到目前为止,32位Chrome和64位eclipse之间的无缝共存被授予。但是,当Oracle在PATH前面放置一个32位JRE时,这个和平就被打破了。 Oracle为什么要这样做还有另一个很好的理由吗? – Heri 2014-10-22 14:04:36