我最近将两台 Mac 升级到 Lion。两台 Mac 之前都已安装完全更新的 Snow Leopard。安装 Lion 后,我打开了一个需要 Java 的网页,两台机器上的 Java 都下载并安装成功,没有任何错误。尝试运行的小程序需要 32 位 Java。在两台机器上,我都使用 Java 首选项应用程序将优先级首先切换到 32 位 Java。在机器 A 上,一切都按预期运行 - 运行 java -version 返回“Java HotSpot(TM) Client VM(build 20.1-b02-383,混合模式)”。如果我将 64 位 Java 切换为第一首选项,则会出现“Java HotSpot(TM) 64 位服务器 VM(build 20.1-b02-383,混合模式)”。机器 B 上的情况也是如此。但是,如果我导航到http://java.com/en/download/testjava.jsp我发现了差异。
在机器 A 上,当 32 位 Java 为最高优先级时,体系结构会正确报告为 i386。但是,无论首选项应用程序中的顺序如何,机器 B 始终报告 x86_64。Chrome、Firefox 和 Safari 之间的行为是一致的。此外,我尝试在 32 位模式下运行 Safari,但 Java 体系结构仍然是 x86_64(我可以验证它实际上是 64 位模式,因为小程序会显示非常具体的错误消息)。
修复权限并重新安装 Java(以及重新启动等)都没有解决任何问题。
此时,我通常会将其写为“是时候重新安装”了,但由于我仍在尝试了解 Mac 的各种内部工作原理,因此我想尝试解决这个问题。
答案1
我遇到了同样的问题。唯一的问题是我仍然在使用 Snow Leopard。我仍然不知道 Lion 是什么样子,也不知道它是否仍然使用 Spotlight。如果是这样...转到 Spotlight(或 Lion 拥有的任何搜索索引程序)并搜索“java”。应该会出现“Java 首选项”。点击。如果尚未出现,请导航到“常规”选项卡。您需要做的是更改顺序。您应该列出 Java 32 和 Java 64。(可能会先列出 Java 64,然后是 32)您需要单击并拖动以更改进程循环顺序,以便 Java 32 在 Java 64 之前首先列出。之后,关闭首选项并关闭浏览器并重新打开。
*快速提示。您的浏览器也应设置为在 32 位模式下运行。为此,按住 Control 并单击或右键单击或用两根手指单击,即可在 Lion 中获取“获取信息”的方法。到达那里后,单击 32 位复选框。关闭“获取信息”并关闭/重新打开浏览器