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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top