مجموعة جافا الديناميكية: بينشيل ، جانينو ، جافاكومبيلر؟

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

سؤال

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

أود أن يقدم المستخدم فئات Java الفعلية كملفات يمكن تحميلها (وإعادة تحميلها) أثناء الطيران.

لهذا الاستخدام بالذات ، هل هناك أي سبب يجعل جافا أكثر مرهقة من الروع أو الفاصوليا؟ أنا لا أطلب مقارنة بين Groovy/Beanshell و Java لأن هناك الكثير. بدلا من ذلك ، أريد أن أعرف إذا كان من الأسهل تحميل فئات رائعة أو فصول الفاصوليا من الملفات بالمقارنة مع جافا.

لجافا 1.6 ، هو Javacompiler أفضل طريقة لتحميل رمز ديناميكي؟ أود استخدام جميع ميزات اللغة ، لذلك أعتقد أن جانينو خارج. أيضا ، أي مشاكل مع إعادة التحميل؟

ملاحظة: لقد رأيت هذه و هذه, ، لكنني لست متأكدًا من أن يجيبوا على سؤالي.

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

المحلول

Javacompiler متعدد الاستخدامات للغاية ، لكنه يستلزم مشكلة تكوين بسيطة محتملة: في javax.tools, toolprovider.getsystemjavacompiler () يحدد فئة المترجم com.sun.tools.javac.api.JavacTool. على بعض المنصات ، هذا الفصل ليس جزءًا من JRE ؛ يبدو أن JDK مطلوب. هنا هو مثال.

يعتبر ايضا javax.script, ، ناقش هنا. العديد من محركات البرمجة النصية مدعمون.

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