سؤال

أحاول إنشاء مكون إضافي بسيط في الكسوف. عندما أقوم بتشغيل التطبيق، أرى هذا الخطأ في ملف السجل:

Org.osgi.framework.bundlexception: The Activator for Bundle Org.xyactivator عن حزمة Org.xy غير صالح.

هل لديك أي فكرة عن هذا الخطأ؟

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

المحلول

افحص build.properties الجزء

إذا لم يحدد بشكل صحيح ما من المفترض أن يكون في النتيجة الثنائية النهائية، فلن يعمل ذلك. تحقق من ملفات .class هي حيث يقول البيان.


من عند eclipsezone., ، سبب آخر رسالة الخطأ هذه:

إذا رأيت رسالة في سجل مثل

 The activator org.example.FooActivator for bundle org.example.foo is invalid 

, ، ثم هذا يعني عادة أنه كان هناك ClassNotFoundException محاولة تحميل الفئة في المقام الأول، قبل أن تصل إلى طريقة البداية ().


بنجورو يضيف:

يحدث الخطأ عندما أحاول إنشاء كائن جديد من أي فئة أخرى في منشئ فئة المنشط. أليس من القانوني إنشاء كائن في البرنامج المساعد المنشط؟

  • إذا كان هذا الفصل إذا من مكون إضافي آخر لم يكن "تم تنشيطه"، فقد تكون مشكلتك.
  • إذا لم يتم العثور على تلك الفئة، فمن شأنها أن يبطل أيضا منشط البرنامج المساعد الخاص بك.

النصيحة الأساسية: قد تكون أفضل حالا مع تهيئة الخاص بك في start() طريقة من Activator بدلا من منشئها.

نصائح أخرى

واجهت أيضا نفس المشكلة أثناء استيراد الإضافات من مساحة عمل مختلفة. في الأساس، إنها حزمة Classpath حيث يبدو الإطار أثناء تحميل الفصول الدراسية. عند استيراد مساحة عمل مختلفة، تأكد من تغيير مسار الفصل للإشارة إلى الموقع المناسب، حيث يوجد ملف الفصل.

بعد تعديل ClassPath حاول تنظيف وإعادة البناء وإعادة التشغيل. يجب أن تعمل ..

إذا كنت تقوم بنقل مساحة عمل Eclipse إلى مسار جديد، فيجب عليك استخدام المشروع-> نظيف قبل بناء البرنامج المساعد الخاص بك، أو يمكنك تحقيق هذه المشكلة.

حسنا، أنا أكره أن أكون كابتن هنا، لكنني اتخذت هذا الخطأ من قبل. هذا يمكن أن يحدث أيضا عندما تنسى تمديد BundleACtivator.

قضيت بعض الوقت مع هذه المشكلة. أخيرا، لاحظت أن expressionsconstions غير متباينة لا يتماشى مع التعليمات البرمجية الخاصة بي، وكانوا يأتون من حزم خاطئة (قديمة). راجعت ما إذا كان هناك بعض الإضافات الأخرى التي كانت تعبث مع تصدير / الصادرات الخاصة بي وبالفعل كان هناك، البرنامج المساعد الخاص بي!

لذلك إصلاح بسيط لمحاولة ما إذا كنت تواجه هذا ولا يتماشى مع CNFE مع التعليمات البرمجية الخاصة بك:

  • انتقل إلى "تثبيت برنامج جديد"
  • انقر فوق "تثبيت بالفعل"
  • إزالة كافة مثيلات الحزمة / البرنامج المساعد الخاص بك وإعادة التشغيل

من المحتمل أن يحدث هذا لأنني غيرت معرف البرنامج المساعد، مما يجعل الكسوف يعامله كمكون إضافي جديد.

موقع جيد آخر لإلقاء نظرة إذا كنت تشعر بالإحباط وتمسك: http://www.eclipsezone.com/eclipse/forums/t99010.html.

في حالتي، كانت هناك هذه الرسالة "المنشط.

GUU (نشر حلا أيضا) هو بطلي، بعد في ازدياد

Bundle-ManifestVersion: 2

ل

Bundle-ManifestVersion: 3

كل شيء يعمل :)

حصلت على نفس الاستثناء. كانت المشكلة الأساسية هي كاسكاستكساس. حزمة بلدي تتطلب Org.osgi.Core 4.3 بينما يستخدم قاذفة Equinox 4.2.

تحيات رولاند

هذا يمكن أن يحدث أيضا إذا قمت بتسمية حزمة بعد حزمة في حزمة أخرى.

لذا:

  • اذا كنت تمتلك Bundle A الذي يحتوي على حزمة org.my.package.name.function,
  • وأنت تنشئ bundle B مع الاسم org.my.package.name.function,
    • => ثم قد يبحث النظام عن المنشط هناك، ولا تجد أي.

لقد وجدت سبب الخطأ. يحدث الخطأ عندما أحاول إنشاء كائن جديد من أي فئة أخرى في منشئ فئة المنشط. أليس من القانوني إنشاء كائن في منشط البرنامج المساعد؟

في حالتي، كان هذا الاستثناء بسبب عدم قابلية محمل الفئة المخصصة Eclipse لحل وتحميل جميع الطبقات من الإضافات الأخرى في الوقت المناسب. أنا لست eclipse سوبر جرو ربما كان خطأي.

ومع ذلك تم إصلاحه عن طريق تعطيل تحميل كسول من البرنامج المساعد. في واجهة المستخدم الرسومية ملخص علامة تبويب MANIFEST.MF محرر Uncheck. قم بتنشيط هذا المكون الإضافي عند تحميل إحدى فصوله. وبعد أو مباشرة في MANIFEST.MF حذف خط

Bundle-ActivationPolicy: lazy

كابتن آخر واضح: إذا قمت بتغيير مسارات الملفات المصدر (مثل SRC / إلى SRC / SRC / Main / Java)، ولكن ننسى تحديث Build.Properties، ستنجح التجميع دائما، لكن البرنامج المساعد الخاص بك لن يعمل أبدا.

كان لدي نفس الخطأ، في حالتي، قمت بإنشاء منشئتي الخاصة مع المعلمات. لكنني لم أقدم منشئا افتراضيا. لذلك بعد إزالة منشئتي وتهيئتها جميعها داخل الأسلوب Start ()، عملت مثل Charme.

التقيت أيضا نفس الخطأ. المنشط XX للحصول على حزمة XX غير صالحة، والصفوف الدراسية SnotfoundException. قمت بفحص Plugins Directory، ولا يمكن العثور على الفئة اللازمة.

- لأنه لا يوجد ملف جرة يحتوي على الفئة المطلوبة، لا يوجد سوى الدليل المقابل. على سبيل المثال، لا يوجد com.hh.jar، ولكن دليل com.hh فقط.

لذلك، يجب أن يكون هناك خطأ في إنشاء COM.HH.JAR.

إذا تم الإشارة إلى com.hh.jar المكونات الإضافية الأخرى، ثم تحقق منها أيضا.

أنا حل المشكلة عن طريق تحرير البيان. افتحه بواسطة محرر المكونات المباشرة، في علامة التبويب وقت التشغيل، إضافة الحزم المطلوبة في "الحزم المصدرة". وفي "classpath"، أضف المكتبات اللازمة، و "". (الدليل الحالي، مهم)

لقد قمت أيضا بتشغيل هذا ISOUE عند تشغيل ملفات جرة "حزمة Izing" عادي. إذا لم يتم حل بعض التبعيات، أو تعتمد الجرات على إصدار Java أعلى من المرء الذي تستخدمه، فلن يبدأ المنشط، وإعطاء الاستثناء أعلاه. الطريقة السريعة لمعرفة ما إذا كانت هذه هي المشكلة هي إزالة الجرار من Bundle-Classpath (علامة تبويب وقت التشغيل من البيان) وتحقق مما إذا كان المنشط سيتم تشغيله بشكل صحيح.

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