Esegui con opere Ant con percorso assoluto, ma non percorso relativo
-
23-08-2019 - |
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?
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.