Ich lerne groovy für ein Skriptpaket namens Geoscript-groovy. Ich folgte dem groovigen REST Tutorial hier und testete den folgenden Code:
> %Vor% Ich habe jedoch einen Fehler in der import
-Anweisung erhalten, der besagt:
Ich habe gesucht, und es gibt viele Fragen und Antworten für diese Fehlermeldung, zB groovyx.net.http.RESTClient in die Groovy-Klasse importieren und RestClient Grails Import schlägt fehl . Allerdings sind sie alle für Grails, die ich nicht benutze und mit denen ich nicht sehr vertraut bin.
Meine Frage ist
Wie soll ich diesen Fehler beheben, wenn ich nur groovy habe? (Meine Version von groovy ist unter Ubuntu 12.04 mit den folgenden Befehlen installiert.)
%Vor%Danke.
- BEARBEITEN ---
Ich habe @Grab-Anweisungen wie vorgeschlagen hinzugefügt und eine zweizeilige rest1.groovy
-Datei wie folgt erstellt:
groovyConsole rest1.groovy
scheint in Ordnung zu sein. Aber groovysh < rest1.groovy
gibt mir immer noch einen Fehler (wie unten gezeigt). Ich denke, ich muss dies in einer groovysh
-ähnlichen Umgebung ausführen, da das groovige Skript im Hintergrund als Web-Service aufgerufen wird. Ohne die Zeile @Grab
generiert der Dienst eine Ausnahme. Mit der Zeile @Grab
wird der Dienst nicht einmal registriert. Gibt es eine dauerhaftere Möglichkeit, notwendige Abhängigkeiten für groovyx.net.http.RESTClient
einzubeziehen als pro Skript (z. B. apt-get
oder manuelles Kopieren von etwas)?
Sie brauchen wahrscheinlich nur die Grape-Zeile, um sicherzustellen, dass Ihr Groovy-Skript das für den Klassenpfad benötigte Glas enthält. Setzen Sie dies an die Spitze Ihres Skripts:
%Vor%Beachten Sie, dass ich den Rest Ihres Skripts nicht sehen kann. Es könnte also andere Module geben, die Sie ebenfalls benötigen. Überprüfen Sie hier für mehr Möglichkeiten: Ссылка
BEARBEITEN
Nun, ich bin froh, dass es jetzt einen Teil des Weges geht. Soweit groovysh geht, ich kenne keine Möglichkeit, groovysh dynamisch die abhängigen Bibliotheken zu bekommen, so was Sie wirklich tun müssen, ist, als Teil der Skript - Installation, auch das Glas, das Sie brauchen, in ein Verzeichnis (Anruf es "lib" oder einige solcher), und fügen Sie dann das Argument zu Ihrem groovysh Aufruf: groovysh -cp ./lib & lt; script.groovy von diesem: Ссылка
Das gewünschte jar sollte über maven verfügbar sein, wobei die Artefaktspezifikation aus der @Grab-Zeile verwendet wird.