Beim ausführen von Groovy-Skripten mithilfe der groovy-all jar, wie geben Sie ein classpath?
Habe ich ein Beispiel für die Ausführung von Groovy-Skripten auf Systemen, die nicht über Groovy-Installation mithilfe der groovy-all jar-Datei. Ich habe versucht, die folgenden:
java -cp src:.:lib/* -jar lib/groovy-all-2.0.1.jar src/com/example/MyScript.groovy
Das Problem ist mein script hängt von jars im lib-Verzeichnis plus zwei weiteren Groovy-Skript-Dateien in src/com/Beispiele. Wenn ich diesen starte, beschwert es sich über den import-Anweisungen für alle von Ihnen. Ich kann es auf einem system mit Groovy korrekt installiert mithilfe des folgenden:
CLASSPATH="src:.:lib/*" groovy src/com/example/MyScript.groovy
Wie führe ich die Groovy-Skripte auf diese Weise, mithilfe der groovy-all-Glas, sowie ihm ein classpath?
- Nicht in der Lage zu finden
groovy-all.jar
für die version 3.0.0-beta-2, keine Ahnung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man nicht kombinieren, beide
-jar
und-cp
imjava
Befehl, so müssen Sie, um den Namen der main-Klasse explizit. Blick auf das manifest dergroovy-all
JAR die Hauptklasse name istgroovy.ui.GroovyMain
, so müssen Sie(wenn groovy-alle waren die nicht schon abgedeckt durch
lib/*
würden Sie müssen hinzufügen, dass die-cp
auch).Einem Weg ist, der zum kompilieren der Groovy-Dateien "*.class" - Dateien. Dann schließen Sie das Glas aus der $GROOVY_HOME/embeddable Verzeichnis und legen Sie es auf dem classpath.
Ist hier ein minimalistisches Beispiel (die erste Zeile ist ein einfaches Unix copy; verwenden Sie, was für Sie arbeitet):
Für eine typische Verteilung, die Sie verwenden würden, Ant/Maven/Gradle bauen Ihre eigene jar-Datei mit der kompilierten Groovy (d.h. die class-Dateien) in der it.