如何在32位模式下在Mac OS X上运行捆绑到.app的java应用程序?

时间:2009-11-25 04:48:20

标签: java macos bundle bit

我在Windows Vista上编写了一个java应用程序,它使用Bonjour并且工作正常。当我在Mac OS X 10.5.8上运行它,并将所有更新安装为.jar文件时,它也能完美运行。但是当我使用Jar Bundler创建一个包时,它会失败并带有

  

“main方法中未捕获的异常:java.lang.UnsatisfiedLinkError:/usr/lib/java/libjdns_sd.jnilib:找不到合适的图像。找到了:/usr/lib/java/libjdns_sd.jnilib:没有匹配的架构通用包装“。

我用google搜索并重新确定问题是,Bonjour协议没有64位实现。 所以,我需要.app以32位模式运行,就像.jar一样 当我运行jar文件时:

java.version = 1.5.0_20 ; os.arch = i386 ; sun.arch.data.model = 32  

当我运行.app:

java.version = 1.5.0_20 ; os.arch = x86_64 ; sun.arch.data.model = 64 

我在Jar Bundler中将JVM版本设置为1.5 *,在.app包中的Info.plist中尝试了很多选项,例如

<key>JVMArchs</key>  
    <array>  
    <string>i386</string>  
    </array>   
<key>LSArchitecturePriority</key>  
<array>
    <string>i386</string>
</array>  

但它什么也没做。

有人知道决定吗?

1 个答案:

答案 0 :(得分:1)

只需添加到Info.plist

即可

JVMArchs I386