سكريبات البرمجة النصية مع وحيد القرن: ينتمي Classloader إلى البرنامج المساعد يوفر وحيد القرن، وليس البرنامج المساعد باستخدامه

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

سؤال

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

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

  • هل هناك طريقة لتغيير الكلمة المستخدمة من قبل وحيد القرن
  • أو هل من الممكن التأكد من أن الكسوف يقوم بتحميل فصول وحيد القرن من مساعد واحد بدلا من الآخر؟

بفضل إجابة ثيلو استخدمت هذا:

import net.weissmann.tom.rhino.Activator;  // Plugin activator class
import org.mozilla.javascript.tools.shell.Main;

public class JSServer extends Thread {

    //[...]

    public void run() {
        // recent versions of the Main class kindly export
    // the context factory
        Main.shellContextFactory.initApplicationClassLoader(
                Activator.class.getClassLoader()    
            ) ;

        //[...]
    }
هل كانت مفيدة؟

المحلول

هل هناك طريقة لتغيير الكلمة المستخدمة من قبل وحيد القرن

يجب أن يستخدم وحيد القرن سيء الخيط الحالي. محاولة reces.setcontextclassload. (لا تنس استعادة ذلك).

إذا لم ينجح ذلك، فربما يمكنك ذلك قم بإنشاء Croino ContoryFactory الخاص بك:

Void Final InitapplicationClassclassloader (Java.lang.Classloader Loader)

قم بتعيين محمل فئات صريح لاستخدامه عند البحث عن فئات Java.

نصائح أخرى

لا أعرف تفاصيل وحيد القرن، ولكن يمكنك التفكير في استخدام Eclipse "عبيد الصديق" مع السياسة "المسجلة".

المكونات في وحيد القرن (net.weissmann.tom.rhino, ، يقول) سوف تعلن نفسها "مفتوحة للإرشاد" من خلال تحديد Eclipse-BuddyPolicy: registered في لها MANIFEST.MF. وبعد المكونات الإضافية مع فصول يجب أن تكون وحيد القرن يجب أن تكون قادرة على معرفة ذلك Eclipse-RegisterBuddy: net.weissmann.tom.rhino وسوف تحتاج إلى تبعية على مستوى الحزمة net.weissmann.tom.rhino.

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