2

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

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

我用谷歌搜索并意识到问题在于,Bonjour协议没有 64 位实现。所以,我需要 .app 像 .jar 一样在 32 位模式下运行。
当我运行 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>  

但它什么也没做。

有人知道决定吗?

4

1 回答 1

1

只需添加到 Info.plist

JVMArchs i386

于 2010-10-29T21:52:21.880 回答