簡體   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