【问题标题】:How to run java application bundled to .app on Mac OS X in 32 bit mode?如何在 Mac OS X 上以 32 位模式运行捆绑到 .app 的 java 应用程序?
【发布时间】:2012-03-03 02:59:35
【问题描述】:

我在 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>  

但它什么也没做。

有人知道决定吗?

【问题讨论】:

    标签: java macos bundle bit


    【解决方案1】:

    只需添加到 Info.plist

    JVMArchs i386

    【讨论】:

      猜你喜欢
      • 2014-10-08
      • 2014-07-01
      • 2016-01-12
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 2014-01-27
      • 2011-12-01
      • 2011-08-30
      相关资源
      最近更新 更多