我的 .bat 文件中有几个 ant 任务要执行。
我的 .bat 文件如下所示:
调用 ant -buildfile task.xml target1
调用 ant -buildfile task.xml target2
对于每个 ant 任务,它将执行一个 java 程序,该程序将使用System.exit()返回一个退出代码。
我知道可以通过在 ant 配置中使用resultproperty来接收退出代码。
如何从调用 ant 任务中获取 .bat 文件中的退出代码?
我的 .bat 文件中有几个 ant 任务要执行。
我的 .bat 文件如下所示:
调用 ant -buildfile task.xml target1
调用 ant -buildfile task.xml target2
对于每个 ant 任务,它将执行一个 java 程序,该程序将使用System.exit()返回一个退出代码。
我知道可以通过在 ant 配置中使用resultproperty来接收退出代码。
如何从调用 ant 任务中获取 .bat 文件中的退出代码?
你可以尝试这样的事情:
1)在您的 ant task.xml 中:如果 resultproperty 不为 0,则使其失败。为此,您可以使用fail任务
这是示例代码:
<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
...