Java 7将在Mac上以32位运行

时间:2013-02-27 12:07:02

标签: java desktop-application java-7

我正在构建一个桌面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。

还有其他选择??

1 个答案:

答案 0 :(得分:2)

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