2009-11-29 1 views
1

Я использую QuickTime для Java для отображения видео в приложении для Java-приложений. Все отлично работает, когда это приложение построено в виде файла банка, но по какой-то причине, когда я использую this maven plugin упаковать приложение, чтобы выглядеть как родное расслоение приложений OSX, следующий код:Почему QuickTime QTSession.open терпит неудачу при упаковке с использованием OSX Jar Bundler?

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

выдает следующее сообщение об ошибке:

java.lang.UnsatisfiedLinkError: /System/Library/Java/Extensions/libQTJNative.jnilib: no suitable image found. Did find: /System/Library/Java/Extensions/libQTJNative.jnilib: no matching architecture in universal wrapper

ответ

3

QuickTime for Java работает только в 32-битном режиме. Несмотря на то, что J2SE 5.0 (32-разрядная версия), установленная как JVM для Java-приложений, кажется, что пакеты приложений, созданные по умолчанию osxappbundle-maven-plugin, запускаются в 64-разрядной версии JVM. Установка osxappbundle-Maven-плагин использовать пользовательский info.plist, содержащий следующий ключ:

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

сил сверток приложений для работы в 32-битном режиме и решает проблему.

Большое спасибо Уксус за то, что указали мне в правильном направлении.

+0

удовольствием. Благодаря вам за предоставление решения здесь, чтобы он мог помочь другим в будущем. –