Question

Je l'extrait de code suivant dans mon script Ant. Il exécute très bien:

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

Mais quand je tente de l'exécuter en définissant le répertoire, comme suit:

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

Je reçois:

  

Exécuter échoué: java.io.IOException:   Impossible d'exécuter le programme « programName.exe »   (Dans le répertoire "C: \ test \ foo"):   CreateProcess error = 2, le système   ne peut pas trouver le fichier spécifié

S'il vous plaît aider! Pourquoi est-il ne fonctionne pas lorsque le répertoire est spécifié séparément?

Était-ce utile?

La solution 2

J'ai fini par coller avec ceci:

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

Autres conseils

Ajoutez resolveexecutable attribut:

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

resolveexecutable Lorsque cette   attribut est vrai, le nom du   exécutable est résolu d'une part contre   le projet basedir et si cela ne   ne pas exister, contre l'exécution   répertoire si spécifié. Sous Unix   systèmes, si vous voulez seulement pour permettre   exécution de commandes dans de l'utilisateur   chemin, définissez à false. depuis Ant 1.6      Non, par défaut est false

Essayez ceci:

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

Il semble que le répertoire à partir duquel vous exécutez le programme doit être dans votre chemin de construction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top