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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top