【问题标题】:Java 7 to be run in 32 bit on macJava 7 将在 mac 上以 32 位运行
【发布时间】:2013-02-13 05:44:57
【问题描述】:

我正在构建一个桌面 Java 应用程序。它使用第三方框架进行一些低级工作(它使用 C 语言,我使用过 JNA)。

在我的 Windows 机器上,当我执行 Native.loadLibrary("EDSDK.dll", EdSdkLibrary.class, options); 时,它运行良好。在 Mac 上,当我尝试执行 Native.loadLibrary("EDSDK.framework", EdSdkLibrary.class, options); 时,它抛出了 UnsatisfiedLinkError 说:mach-o, but wrong architecture

我的 java 7 版本是 64 位,框架是基于 32 位的。在包含 Java6 的不同 Mac 上,当我以 32 位模式运行 Java 时,应用程序运行良好。 这确认抛出的异常是因为 32 位不兼容,我只需要使用 32 位(这很明显)。

这是令人恼火的部分——在 Java 7 中,-d32 选项不起作用,Oracle 不再提供 32 位的 Java 7。如何以 32 位运行我的 Java 7,以便我可以使用第三方框架?打开JDK?或者使用 Java 6 并在 32 位模式下使用它。但 Oracle 不再为 Mac 提供 Java 6。

还有其他选择吗??

【问题讨论】:

    标签: java desktop-application java-7


    【解决方案1】:

    您可以下载Apple Java 6 JDK,其中包含一个 32 位 JVM。但我怀疑 Java 6 未来的安全更新会有很多,所以你最好掌握一个 64 位版本的本机框架并将其与 Oracle Java 7 一起使用。

    【讨论】:

      猜你喜欢
      • 2014-01-27
      • 2011-08-30
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      相关资源
      最近更新 更多