Wenn Sie Groovy-Skripte mit dem groovy-all jar ausführen, wie geben Sie einen Klassenpfad an?

8

Ich habe ein Beispiel für das Ausführen von Groovy-Skripten auf Systemen gefunden, auf denen Groovy nicht mit der Groovy-All-JAR-Datei installiert wurde. Ich habe Folgendes versucht:

%Vor%

Das Problem ist, dass mein Skript von jars im lib-Verzeichnis und zwei anderen Groovy-Skriptdateien in src / com / examples abhängt. Wenn ich das ausführe, beschwert es sich über die Importanweisungen für alle von ihnen. Ich kann es auf einem System ausführen, auf dem Groovy installiert ist, indem Sie Folgendes verwenden:

%Vor%

Wie starte ich Groovy-Skripte auf diese Weise, benutze das groovy-all jar, und gebe ihm einen Klassenpfad?

    
djsumdog 12.09.2012, 15:48
quelle

2 Antworten

18

Sie können sowohl -jar als auch -cp in einem java -Befehl nicht kombinieren, daher müssen Sie die Hauptklasse explizit benennen. Wenn Sie das Manifest der groovy-all JAR betrachten, lautet der Hauptklassenname groovy.ui.GroovyMain , Sie brauchen also

%Vor%

(Wenn groovy-all nicht bereits von lib/* abgedeckt wurde, müsstest du das auch zu -cp hinzufügen).

    
Ian Roberts 12.09.2012, 22:35
quelle
1

Eine Möglichkeit besteht darin, die Groovy-Dateien in "* .class" -Dateien zu kompilieren. Fügen Sie dann das Jar aus dem Verzeichnis $ GROOVY_HOME / embeddable ein und legen Sie es in den Klassenpfad.

Hier ist ein minimalistisches Beispiel (die erste Zeile ist eine einfache Unix-Kopie; benutze, was für dich funktioniert):

%Vor%

Für eine typische Distribution würden Sie Ant / Maven / Gradle verwenden, um Ihre eigene JAR-Datei mit den kompilierten Groovy-Dateien (d. h. Klassendateien) zu erstellen.

    
Michael Easter 12.09.2012 21:11
quelle

Tags und Links