我在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>
但它什么也没做。
有人知道决定吗?
答案 0 :(得分:1)
只需添加到Info.plist
即可JVMArchs I386