1

我在 Mac OS X 10.8 上启用了 Apple 提供的 Java 6。它工作正常,但唯一的问题是我需要运行的小程序只能在 32 位 Java 插件上运行。我无法在 32 到 64 之间选择 Java 首选项,反之亦然。我还尝试在 32 模式下运行 safari 和 firefox,但没有帮助。

我想通过使用 -d32 开关让它在终端中工作。但是,我不确定如何在 safari 中使用此开关。

编辑:请注意,我已经苹果提供了 Java 6。我只需要在 safari 或 firefox 中启用 32 位插件。

4

3 回答 3

1

据我所知,Apple 进行了更新以禁用 Java 插件并从 Utilities 文件夹中删除 Java Preferences.app。您可能需要重新启用 Java 插件。

由于 Java 7 仅运行 64 位应用程序,因此您唯一的解决方案是按照 Apple 编写的以下步骤重新安装 Java 6:

http://support.apple.com/kb/HT5559?viewlocale=en_US

编辑:或者,尝试以 32 位模式运行 Safari:此处的步骤。

于 2013-07-01T12:44:20.100 回答
1

我面临着和你一样的问题。

不管我怎么努力,Java 1.6 仍然在 64 位模式下运行。

我最后的手段是考虑如何禁用二进制的 64 位功能,以便只能选择 32 位模式....

在这里回答:

关键是将 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java 替换为仅 32 位模式的二进制文件。

  1. 使用“xxd -g1 java | grep -E 'c.fa'”来找出二进制头文件。
xxd -g1 java | grep -E'c。F A'
0001000: ce fa ed fe 07 00 00 00 03 00 00 00 02 00 00 00
000c4b0:01 28 6f d8 ce 3b 3a b0 c9 cd fa 87 b1 35 df 08
000d000:cf fa ed fe 07 00 00 01 03 00 00 80 02 00 00 00
000f060: 00 0f 84 c7 fa ff ff 48 8d 3d 96 39 00 00 是 01

07 00 00 00 是 32 位的。1

所以 32 位二进制从 0x1000 开始,到 0xd000 结束,长度为 0xc000。

  1. 使用您最喜欢的工具提取 32 位模式二进制文件....(例如 dd)对我来说,我喜欢 xxd,因为它的语法更容易记住。使用“文件 java”进行验证。

  2. 备份原始的 java 二进制文件。

  3. 将“/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java”二进制文件替换为步骤 2 中提取的仅 32 位模式二进制文件。

  4. 测试!如果未显示 Java 控制台,并且没有 Java 首选项可以打开它,您可以使用 ~/Library/Caches/Java 中的 deployment.properties 文件并添加“deployment.console.startup.mode=SHOW”。

于 2015-01-14T12:10:47.520 回答
0

您可以将参数 -d32 直接传递到小程序参数标记中。

<applet> <params name="java_arguments" value="-d32" /> ... </applet>

注意它必须是第一个applet 参数。仅适用于 java 1.6,因为 1.7 和 1.8 在 mac os 上没有 32 位版本。使用 OS X 10.8.3 通过 safari、chrome 和 firefox 进行测试

于 2015-02-19T16:45:53.957 回答