نصيحة لتضمين لغة البرمجة النصية Java لتصحيح الأخطاء/المسؤول عن بُعد

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

سؤال

لديّ تطبيق متطور إلى حد ما من جانب الخادم والذي يتطلب مني في كثير من الأحيان رؤية ما يجري مع الأجزاء الداخلية لتصحيح المشكلات وإصلاحها.

لذلك قمت بتضمين مثيل بينشيل ، والذي يمكنني أن أتطرق إليه (عادةً على نفق SSH) ، لكنني أتساءل عما إذا كانت هناك طريقة أفضل.

بعض القيود:

  • لا يوجد دعم للقراءة ، والذي يمكنني الالتفاف فيه باستخدام "RLWRAP" على Telnet ، ولكنه ليس مثاليًا
  • سيكون إكمال تبويب المتغيرات والأساليب لطيفة حقًا ، لكنني لم أجد طريقة للقيام بذلك
  • لا يبدو أن المتغيرات المحددة مسبقًا (للوصول إلى الأشياء التي أحتاج إلى الوصول إليها بشكل متكرر) تنجح ،

الكل في كل شيء ، على الرغم من أن Beanshell تتمتع بميزة رائعة بأنها مجموعة رائعة من Java ، لذلك لا يحتاج أحد إلى تعلم لغة برمجة أخرى لاستخدامها.

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

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

المحلول

يحتوي أحد تطبيقاتنا على واجهة Beanshell التي تتصل بتطبيقنا عبر JMX باستخدام RMI+SSL.

يمكنك بالفعل عرض المتغيرات المسبقة عن طريق الاتصال مترجم#set () قبل استدعاء المترجم الفوري فعليًا.

بخلاف ذلك ، أتفق معك على "القراءة" مثل الوظيفة. هناك مشروع يسمى Java-Readline (ويبدو أن BSH يشحن مع مكون إضافي له) يهدف إلى توفير وظائف لكنني لم أتحقق منه. كما يتطلب مكتبة JNI.

لقد سمعت أن الناس يستخدمون Scala و Groovy لتنفيذ عملاء سطر الأوامر ولكن حتى الآن ، لا أعتقد أن API Scala لتضمين المترجم توحيد حتى الآن. كما أنني لا أعتقد أنها تدعم ميزات "القراءة" التي تبحث عنها.

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