لماذا تفشل كويك تايم QTSession.open عند تعبئتها باستخدام OSX جرة محزم؟

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

  •  06-07-2019
  •  | 
  •  

سؤال

وأنا باستخدام كويك تايم لجاوا لعرض الفيديو ضمن تطبيق سطح المكتب جاوة. كل شيء يعمل بشكل جيد عندما يتم إنشاء هذا التطبيق كملف جرة، ولكن لسبب ما عندما استخدم هذا مخضرم المساعد لحزمة تطبيق لتبدو وكأنها الأم 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: لا بنية مطابقة في المجمع العالمي

هل كانت مفيدة؟

المحلول

وكويك تايم لجاوا يعمل فقط في وضع 32 بت. وعلى الرغم من وجود J2SE 5.0 (32-بت) تعيينه على أنه JVM لتطبيقات جافا، فإنه يبدو كما لو حزم التطبيقات التي تم إنشاؤها من قبل في osxappbundle-مخضرم-المساعد التخلف لتشغيل على إصدار 64 بت من JVM. وضع osxappbundle-مخضرم-المساعد لاستخدام Info.plist مخصص يحتوي على المفتاح التالي:

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

ويفرض حزمة التطبيق ليتم تشغيله في وضع 32 بت ويعمل على حل المشكلة.

وشكرا جزيلا الخل لافتا لي في الاتجاه الصحيح.

نصائح أخرى

وكما أنني وجدت ... لك تطبيق جافا مع جافا -d32 ...

و(المرجع: HTTP: // macintoshnotes.wordpress.com/2009/12/07/quicktime-for-java-under-snow-leopard/ )

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top