كيف يمكنني تحميل جرة قاعدة بيانات في مروعة دون استخدام مفتاح -CP؟
سؤال
أرغب في تبسيط تنفيذ برنامج نصي رائع يقوم بإجراء مكالمات إلى قاعدة بيانات Oracle. كيف يمكنني إضافة جرة OJDBC إلى classpath الافتراضي حتى أتمكن من تشغيل:
groovy RunScript.groovy
بدلاً من:
groovy -cp ojdbc5.jar RunScript.groovy
المحلول
ملخصت من وصفات رائعة, ، بقلم سكوت ديفيس ، تضمين الجرار تلقائيًا في دليل ./groovy/lib:
- خلق
.groovy/lib
في دليل تسجيل الدخول الخاص بك Uncomment السطر التالي في $ {groovy_home} /conf/groovy-starter.conf
load !{user.home}/.groovy/lib/*.jar
انسخ الجرار التي تريد تضمينها
.groovy/lib
يبدو أنه بالنسبة لـ Groovy 1.5 أو لاحقًا ، تحصل على هذا افتراضيًا (لا حاجة إلى تعديل conf) ، ما عليك سوى إسقاط الجرار في /lib dir.
نصائح أخرى
هناك بعض الطرق للقيام بذلك. يمكنك إضافة الجرة إلى متغير ClassPath لنظامك. يمكنك إنشاء دليل يسمى .groovy/lib في الدليل المنزلي الخاص بك ووضع الجرة هناك. سيتم إضافته تلقائيًا إلى ClassPath في وقت التشغيل. أو يمكنك القيام بذلك في الكود:
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
groovy
هو مجرد البرنامج النصي لفريق الجرة الرائعة التي تقوم بإعداد Java Classpath. يمكنك تعديل هذا البرنامج النصي لإضافة المسار إلى جرة الخاصة بك ، كما أفترض.
يمكنك إضافة ما يلي كوخ إلى السطر الأول من السيناريو الرائع:
#!/usr/bin/env groovy -cp ojdbc5.jar
ثم ، حدد البرنامج النصي القابل للتنفيذ:
chmod u+x RunScript.groovy
الآن ، سيقوم تشغيل البرنامج النصي بمفرده بتعيين ClassPath تلقائيًا.
./RunScript.groovy