Führen Sie mit Ant Arbeiten mit absolutem Pfad aber nicht relativem Pfad
-
23-08-2019 - |
Frage
Ich habe folgenden Schnipsel in meinem Ant-Skript. Es führt nur in Ordnung:
<exec executable="C:\test\foo\programName.exe" />
Aber dann, wenn ich versuche, es auszuführen, indem Sie das Verzeichnis einstellen, etwa so:
<exec executable="programName.exe"
dir="C:\test\foo\" />
ich:
Ausführen fehlgeschlagen: java.io.IOException: Kann nicht Programm „programName.exe“ laufen (Im Verzeichnis "C: \ test \ foo"): Create error = 2, wobei das System kann die angegebene Datei nicht finden
Bitte um Hilfe! Warum ist es nicht funktioniert, wenn das Verzeichnis separat angegeben wird?
Lösung 2
Ich landete mit Aufkleben:
<exec executable="${basedir}\myexefile.exe}" />
Andere Tipps
Fügen Sie die resolveexecutable Attribut:
<exec executable="programName.exe"
resolveexecutable="true"
dir="C:\test\foo\" />
resolveexecutable Wenn diese Attribut ist wahr, der Name der ausführbare Datei ist gelöst zunächst gegen das Projekt basedir und wenn das tut nicht vorhanden ist, gegen die Hinrichtung Verzeichnis, wenn angegeben. auf Unix Systeme, wenn Sie zulassen möchten, Ausführung von Befehlen in dem Benutzer Pfad, stellen Sie hier falsch. da Ant 1.6 Nein, Standard ist false
Versuchen Sie folgendes:
<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>
Es scheint, dass das Verzeichnis, aus dem Sie das Programm ausführen in Ihrem Build-Pfad sein muss.