Ant <exec> 输出未在 属性 中捕获
Ant <exec> output not captured in property
我正在尝试将 Ant 执行命令的输出放入输出 属性 并回显 属性。我们应该能够查看命令的输出。我使用了下面的代码,但是我无法查看 Ant 执行的输出。
<exec executable="${exe.baroverride}"
spawn="false"
failonerror="true"
>
<redirector outputproperty="baroverride.out"
errorproperty="baroverride.err"/>
</exec>
<logmsg message="Bar Override Output for the bar file ${iib.build.target.bar.filename} ${baroverride.out}"/>
首先,Ant 中没有 <logmsg>
任务。 <logmsg>
可能来自自定义 <macrodef>
或 <taskdef>
。除非您提供代码,否则我们无法帮助您了解 <logmsg>
的工作原理。
其次,<redirector>
将输出拆分为两个属性...
<redirector outputproperty="baroverride.out"
errorproperty="baroverride.err"/>
...但是,<logmsg>
调用仅引用 baroverride.out
...
<logmsg message="... ${baroverride.out}"/>
如果<exec>
写到baroverride.err
,上面的<logmsg>
调用不会显示它。
考虑完全删除 <redirector>
并改用 <exec>
的 outputproperty
属性...
<exec executable="${exe.baroverride}"
spawn="false"
failonerror="true"
outputproperty="baroverride.out"
/>
<echo>baroverride.out: ${baroverride.out}</echo>
我正在尝试将 Ant 执行命令的输出放入输出 属性 并回显 属性。我们应该能够查看命令的输出。我使用了下面的代码,但是我无法查看 Ant 执行的输出。
<exec executable="${exe.baroverride}"
spawn="false"
failonerror="true"
>
<redirector outputproperty="baroverride.out"
errorproperty="baroverride.err"/>
</exec>
<logmsg message="Bar Override Output for the bar file ${iib.build.target.bar.filename} ${baroverride.out}"/>
首先,Ant 中没有 <logmsg>
任务。 <logmsg>
可能来自自定义 <macrodef>
或 <taskdef>
。除非您提供代码,否则我们无法帮助您了解 <logmsg>
的工作原理。
其次,<redirector>
将输出拆分为两个属性...
<redirector outputproperty="baroverride.out"
errorproperty="baroverride.err"/>
...但是,<logmsg>
调用仅引用 baroverride.out
...
<logmsg message="... ${baroverride.out}"/>
如果<exec>
写到baroverride.err
,上面的<logmsg>
调用不会显示它。
考虑完全删除 <redirector>
并改用 <exec>
的 outputproperty
属性...
<exec executable="${exe.baroverride}"
spawn="false"
failonerror="true"
outputproperty="baroverride.out"
/>
<echo>baroverride.out: ${baroverride.out}</echo>