我试图将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}"/>
答案 0 :(得分:1)
首先,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>
并使用outputproperty
的{{1}}属性代替......
<exec>