我在 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>
但它什么也没做。
有人知道决定吗?