Domanda

Ho il seguente frammento di codice nel mio script Ant. Esegue bene:

<exec executable="C:\test\foo\programName.exe" />

Ma poi quando provo ad eseguirlo impostando la directory, in questo modo:

<exec executable="programName.exe"
  dir="C:\test\foo\" />

ottengo:

  

Esegui fallito: java.io.IOException:   Impossibile eseguire il programma "programName.exe"   (Nella directory "C: \ test \ pippo"):   errore CreateProcess = 2, il sistema   non riesce a trovare il file specificato

Si prega di aiutare! Perché non funziona quando la directory viene specificata separatamente?

È stato utile?

Soluzione 2

Ho finito per attaccare con questo:

<exec executable="${basedir}\myexefile.exe}" />

Altri suggerimenti

Aggiungi il resolveexecutable l'attributo:

<exec executable="programName.exe" 
  resolveexecutable="true"
  dir="C:\test\foo\" />
  

resolveexecutable Quando questo   attributo è vero, il nome del   eseguibile viene risolto in primo luogo contro   il basedir progetto e se questo non   non esiste, contro l'esecuzione   directory se specificato. su Unix   sistemi, se si desidera solo per permettere   esecuzione di comandi dell'utente   percorso, impostare questo su false. dal Ant 1.6      No, il default è false

Prova questo:

<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>

Sembra che la directory da cui si esegue il programma deve essere nel vostro percorso di generazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top