2013-06-13 60 views
1

我在我的.bat文件中执行了几个ant任务。
我.bat文件是象下面这样:
将退出代码从蚂蚁返回到批处理文件

调用Ant -buildfile task.xml目标1
调用Ant -buildfile task.xml TARGET2

对于每一个Ant任务,它将执行java程序,程序将通过使用 System.exit()返回退出代码。

我知道退出代码可以通过在蚂蚁配置中使用resultproperty来接收。
如何从调用蚂蚁任务获取我的.bat文件中的退出代码?

回答

4

你可以尝试这样的事情:

1)在你的蚂蚁task.xml:让它失败如果resultproperty不为0。要做到这一点,你可以使用fail task

  • 该resultProperty不是条件0
  • 状态码等于从Java程序

这里返回代码状态为示例代码:

<exec executable="cmd" resultproperty="javaReturnCode" ...> 
    ... 
</exec> 

<fail message="java program execution failure" status="${javaReturnCode}"> 
    <condition> 
     <not> 
     <equals arg1="${javaReturnCode}" arg2="0"/> 
     </not> 
    </condition> 
</fail> 

2)在您的批处理文件:在%ERRORLEVEL%中包含的最后一个命令的返回代码,所以像这样可以工作:

call ant -buildfile task.xml target1 
IF NOT ERRORLEVEL 0 GOTO javaProgramErrorHandlingTarget1 
call ant -buildfile task.xml target2 
IF NOT ERRORLEVEL 0 GOTO javaProgramErrorHandlingTarget2 
REM both ant targets exit normally so continue normal job 
... 
:javaProgramErrorHandlingTarget1 
... 
:javaProgramErrorHandlingTarget2 
... 
+0

这正是我需要的,非常感谢!我正在尝试这种方式进行测试。 – Una

相关问题