繁体   English   中英

为什么使用OSX Jar Bundler打包时QuickTime QTSession.open失败?

[英]Why does QuickTime QTSession.open fail when packaged using OSX Jar Bundler?

我正在使用QuickTime for Java在Java桌面应用程序中显示视频。 当此应用程序构建为jar文件时,一切正常,但是由于某些原因,当我使用此maven插件将应用程序打包为本地OSX应用程序捆绑包时,使用以下代码:

try {
  QTSession.open();
} catch (Throwable t) {
  logger.error("QTSession was unable to open", e);
}

引发以下错误:

java.lang.UnsatisfiedLinkError:/System/Library/Java/Extensions/libQTJNative.jnilib:找不到合适的图像。 确实找到了:/System/Library/Java/Extensions/libQTJNative.jnilib:通用包装中没有匹配的体系结构

QuickTime for Java仅适用于32位模式。 尽管已将J2SE 5.0(32位)设置为Java应用程序的JVM,但似乎osxappbundle-maven-plugin创建的应用程序捆绑包默认运行在64位版本的JVM上。 将osxappbundle-maven-plugin设置为使用包含以下键的自定义Info.plist:

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

强制应用程序捆绑包以32位模式运行并解决问题。

非常感谢Vinegar为我指明了正确的方向。

我还发现...您使用Java -d32的Java应用程序...

(参考: http//macintoshnotes.wordpress.com/2009/12/07/quicktime-for-java-under-snow-leopard/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM