我的 .bat 文件中有几个 ant 任务要执行。
我的 .bat 文件如下所示:
call ant -buildfile task.xml target1
call ant -buildfile task.xml target2
对于每个 ant 任务,它都会执行一个 java 程序,该程序将使用 System.exit() 返回一个退出代码。
我知道可以通过在 ant 配置中使用 resultproperty 来接收退出代码。
如何通过调用 ant 任务获取 .bat 文件中的退出代码?
最佳答案
你可以尝试这样的事情:
1) 在您的 ant 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
...
关于java - 将退出代码从 ant 返回到批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17084772/