Wenn Sie eine Datei mit dem Namen „a.txt“ in Ihrem Arbeitsplatz sowie ein Skript namens „sysgvy.groovy“, die Sie groovy als System ausgeführt werden soll Skript. Angenommen, Ihr Skript "sysgvy.groovy" muss die Datei "a.txt" lesen.
Das Problem dieses Themas ist, dass, wenn Ihr Skript direkt "a.txt" ohne Angabe eines Pfades liest, "sysgvy.groovy" ausgeführt wird und eine Fehlermeldung mit der Meldung "a.txt" nicht finden kann.
Ich habe getestet und festgestellt, dass die folgende Methode gut funktioniert.
def build = Thread.currentThread().executable
Dann
build.workspace.toString()+"\\a.txt"
als die volle Lage Zeichenfolge verwenden "a.txt" zu ersetzen.
Es ist auch wichtig, auf dem Jenkins-Master-Rechner zu laufen, indem Sie "a.txt" und "sysgvy.groovy" in den Jenkins-Master-Rechner-Arbeitsbereich legen. Die Ausführung auf dem Slave-Rechner funktioniert nicht.
Probieren Sie es aus, die Datei sollte gefunden und im Skript ohne Probleme gelesen werden.
Wenn ein Problem mit variablen Thread besteht, müssen nur einige Module importiert werden. Also füge diese Zeilen zum Anfang des Codes hinzu:
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
filename = build.workspace.toString() + "/ a.txt"; myFile = neue Datei (Dateiname); data = myFile.readLines(); Druckdaten; – gaoithe
groovy.lang.MissingPropertyException: Keine solche Eigenschaft: ausführbar für Klasse: java.lang.Thread – saikosen