Ejecutar con la hormiga trabaja con ruta absoluta sino relativa camino no
-
23-08-2019 - |
Pregunta
Tengo el siguiente fragmento de código en mi script Ant. Se ejecuta muy bien:
<exec executable="C:\test\foo\programName.exe" />
Pero cuando intento ejecutarlo mediante el establecimiento del directorio, así:
<exec executable="programName.exe"
dir="C:\test\foo\" />
Me sale:
Ejecutar fallado: java.io.IOException: No se puede ejecutar el programa "programName.exe" (En el directorio "C: \ test \ foo"): error CreateProcess = 2, el sistema de no puede encontrar el archivo especificado
Por favor, ayuda! ¿Por qué no funciona cuando se especifica el directorio separado?
Solución 2
terminé pegando con esto:
<exec executable="${basedir}\myexefile.exe}" />
Otros consejos
Agregar el resolveexecutable atributo:
<exec executable="programName.exe"
resolveexecutable="true"
dir="C:\test\foo\" />
resolveexecutable Cuando esto atributo es cierto, el nombre de la ejecutable se resuelve en primer lugar contra basedir el proyecto y si eso no existe, en contra de la ejecución directorio, si se especifica. en Unix sistemas, si sólo desea permitir ejecución de comandos en el usuario de camino, ponga esto en falso. desde Ant 1.6 No, por defecto es false
Prueba esto:
<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>
Parece ser que el directorio desde el que se ejecuta el programa debe estar en su trayectoria de la estructura.