Wie auto ich eine Datenbank Glas in Groovy laden, ohne dass die -cp Schalter?
Frage
Ich möchte meine Ausführung eines Groovy Skript vereinfachen, die Anrufe zu einer Oracle-Datenbank macht. Wie kann ich die ojdbc jar auf den Standard Classpath hinzufügen, so dass ich laufen kann:
groovy RunScript.groovy
statt:
groovy -cp ojdbc5.jar RunScript.groovy
Lösung
Zusammengefasst von Groovy Rezepte von Scott Davis, Automatisch Einschließlich JAR-Dateien im Verzeichnis ./groovy/lib :
- Erstellen
.groovy/lib
in Ihrem Login-Verzeichnis -
Kommentar- die folgende Zeile in $ {} GROOVY_HOME /conf/groovy-starter.conf
load !{user.home}/.groovy/lib/*.jar
-
Kopieren Sie die Gläser Sie enthalten sein sollen, um
.groovy/lib
Es scheint, dass für Groovy 1.5 oder höher Sie dies standardmäßig erhalten (keine Notwendigkeit, die conf zu bearbeiten), fällt nur die Gläser im Verzeichnis / lib dir.
Andere Tipps
Es gibt ein paar Möglichkeiten, es zu tun. Sie können das Glas an Ihrem System CLASSPATH Variable hinzufügen. Sie können ein Verzeichnis .groovy / lib in Ihrem Home-Verzeichnis mit dem Namen erstellen und das Glas in dort setzen. Es wird automatisch zu Ihrem Classpath zur Laufzeit hinzugefügt werden. Oder man kann es im Code tun:
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
groovy
ist nur ein Wrapper-Skript für die Groovy JAR, die den Java-Classpath einrichtet. Sie könnten das Skript ändern Sie den Pfad zu Ihrem eigenen JAR hinzuzufügen, als auch, nehme ich an.
Sie können fügen Sie folgendes shebang auf die erste Zeile Ihres Groovy-Skript :
#!/usr/bin/env groovy -cp ojdbc5.jar
Dann markieren Sie das Skript ausführbar:
chmod u+x RunScript.groovy
Nun, selbst das Skript ausgeführt wird den Classpath automatisch eingestellt.
./RunScript.groovy