Почему QuickTime QTSession.open не работает при упаковке с использованием OSX Jar Bundler?

StackOverflow https://stackoverflow.com/questions/1814691

  •  06-07-2019
  •  | 
  •  

Вопрос

Я использую QuickTime для 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 для Java работает только в 32-битном режиме.Несмотря на то, что J2SE 5.0 (32-разрядная версия) установлена ​​в качестве JVM для Java-приложений, может показаться, что пакеты приложений, созданные osxappbundle-maven-плагин по умолчанию работает на 64-битной версии JVM.Настройка osxappbundle-maven-plugin для использования пользовательского Info.plist, содержащего следующий ключ:

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

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

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

Другие советы

Я также нашел ... вы Java-приложение с java -d32 ...

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top