Java 当一个ant文件调用一个批处理文件,而批处理文件调用一个ant文件时,如何使构建失败

Java 当一个ant文件调用一个批处理文件,而批处理文件调用一个ant文件时,如何使构建失败,java,windows,batch-file,ant,junit,Java,Windows,Batch File,Ant,Junit,这就是我要做的 我有一个ant文件,它调用一个.batch文件,它调用一个ant文件来构建一个组件 如果组件构建失败,我希望主ant文件构建失败 主ant文件 <target name="TestingThree"> <exec executable="${basedir}\..\..\Component\UnitTests.bat" dir="${basedir}\..\..\Component"> <arg line='run'/> <

这就是我要做的

我有一个ant文件,它调用一个.batch文件,它调用一个ant文件来构建一个组件

如果组件构建失败,我希望主ant文件构建失败

主ant文件

<target name="TestingThree">
  <exec executable="${basedir}\..\..\Component\UnitTests.bat" dir="${basedir}\..\..\Component">
    <arg line='run'/>
  </exec>
</target>
if "%1" == "run" call ant -buildfile build.xml test
<target name="test" depends="compile.test, -injectSigningKeys" description="Run Component tests">

    <junit haltonfailure="yes" printsummary="yes" showoutput="yes">
    <test name="Component.TestSuite" todir="${report}" filtertrace="on" />
    <formatter type="xml" usefile="true" />
    <classpath refid="test.classpath" />

    </junit>
</target>
建筑构件ant文件

<target name="TestingThree">
  <exec executable="${basedir}\..\..\Component\UnitTests.bat" dir="${basedir}\..\..\Component">
    <arg line='run'/>
  </exec>
</target>
if "%1" == "run" call ant -buildfile build.xml test
<target name="test" depends="compile.test, -injectSigningKeys" description="Run Component tests">

    <junit haltonfailure="yes" printsummary="yes" showoutput="yes">
    <test name="Component.TestSuite" todir="${report}" filtertrace="on" />
    <formatter type="xml" usefile="true" />
    <classpath refid="test.classpath" />

    </junit>
</target>

当前,每当我执行主ant文件时,都会调用.batch文件,而另一个ant文件则会被调用,从而导致构建失败。但是主要的ant构建仍然成功

.batch文件是否有方法将fail/success返回到主ant文件?
我不能直接从主ant文件调用第二个ant文件。我也不能将代码从第二个ant文件传输到主ant文件

您是否查看了
failonerror
参数

默认情况下,a的返回码被忽略;当你设定 failonerror=“true”然后是任何返回码信号故障(OS 特定)导致生成失败