Exécuter avec des œuvres Ant avec chemin absolu, mais pas le chemin relatif
-
23-08-2019 - |
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?
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.