2014-10-22 45 views
6

最近,我通过更新过程更新了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)是否有更好的方法来解决问题,而不仅仅是删除新的路径条目?

+0

我不知道为什么铬会给你32位版本,但它不该”考虑到32位应该在64位体系结构上运行,这真的很重要。至于日食问题看看这个问题http://stackoverflow.com/questions/16394822/setting-up-eclipse-with-jre-path – 2014-10-22 07:16:48

+0

如果你正在运行一个32位版本的Chrome,然后一个32位版本的Java将被下载。点击Chrome查看它是否包含(64位)。 – Frunk 2014-10-22 08:40:53

+0

@Frunk:你说得对。到目前为止,32位Chrome和64位eclipse之间的无缝共存被授予。但是,当Oracle在PATH前面放置一个32位JRE时,这个和平就被打破了。 Oracle为什么要这样做还有另一个很好的理由吗? – Heri 2014-10-22 14:04:36

回答

-2

Chrome的开发者是懒惰,不想浪费时间找出如何使用完整的64位指令,寄存器等

+0

为了让它更积极:他们的雇主如果花更多时间提供完整的64位支持,他们将需要付出更多的钱。 – 2014-11-18 01:30:02

+1

如果我可以,我会给-1这个“非” - 答案。不幸的是,我不得不声名狼借 – Heri 2014-11-18 13:29:35

+0

我有版本38.0.2125.122也许你的问题在那里解决。在$ PATH中添加或删除目录总是一个很好的(如果不是最好的)想法来解决有关升级(或必要时降级)的问题。顺便说一句,你的反应是在我的评论,而不是我的负面答案。通常,支持32位和/或64位系统软件对于应用程序开发人员来说比您想象的更复杂。我记得那时有很多8位处理器和几个16位的微型计算机。记住摩尔定律:http://en.wikipedia.org/wiki/Moore's_law – 2014-11-19 08:56:44

相关问题