Uso los resultproperty
y failonerror
atributos de la tarea exec
, por ejemplo:
<target name="CheckState">
<exec executable="${App.path}"
resultproperty="App.state"
failonerror="false"/>
<echo message="App state was: ${App.state}" />
</target>
citando de los documentos de trabajo exec
errores y devolver códigos:
De forma predeterminada, se ignora el código de retorno de un exec ; cuando establece failonerror = "true", cualquier devolución fallo de señalización del código (OS específico) hace que la compilación falle. Alternativamente, puede establecer resultproperty al nombre de una propiedad y asignarlo al código de resultado (excepto la inmutabilidad, del curso ).
Si el intento de iniciar el programa falla con un código de error depende del sistema operativo, luego se detiene la acumulación a menos failifexecutionfails se establece en false. Puede usarlo para ejecutar un programa si existe, pero no haga nada.
¿Qué significan esos códigos de error? Bueno, son dependientes del sistema operativo. En los cuadros de Windows , debe consultar la documentación ; el código de error 2 significa 'no tal programa', lo que generalmente significa que no está en la ruta. Cada vez que vea un error de este tipo en cualquier tarea Ant, es , generalmente no es un error Ant, pero tiene un problema de configuración en su máquina.
Gracias. ¡Esto funciona! Intenté outputproperty y errorproperty, pero no vi resultproperty. – Hyden
¿Tenía la propiedad de la horquilla establecida en verdadero? Según O'Reilly's _Ant: The Definitive Guide_, la propiedad resultante solo funcionará si failonerror es falso _y_ fork es verdadero. Sin embargo, fork parece ser un atributo del elemento Java. –
@Jamil No lo entiendo del todo. Un fork está implícito en un ejecutivo: no hay necesidad de especificarlo. –