我有一个在Hudson上运行的Ant脚本并构建了一些项目。最后,它在几个文件上运行md5,我希望将这些总和写入我之前创建的文件中。它不是写入文件,我不知道如何解决这个问题。截至目前,它基本上与Windows命令行中的方式相同(它可以手动工作,而不是在Ant / XML中)。以下是该部分的大部分内容:
<echo message="Running md5 on the 3 required files"/>
<exec executable="${md5}">
<arg line="${Dist}\binaries\LP100CRC.enc > ${md5_output}" />
</exec>
<exec executable="${md5}">
<arg line="${Dist}\binaries\LP100_BootCRC.enc >> ${md5_output}" />
</exec>
<exec executable="${md5}">
<arg line="${Dist}\binaries\LP100512k.bin >> ${md5_output}" />
</exec>
它生成md5sums就好了,所以没有错,它只是没有按预期写入文件;它只是在控制台中显示它们。我原本以为是因为我使用的是“&gt;”而不是“GT;”,但我确实改变了无济于事。我知道应该有一些方法可以将文件回显到它中,但是我也无法将文件写入其中。
非常感谢任何帮助!
答案 0 :(得分:1)
exec任务的arg行中的输出重定向将不起作用。你要找的是“输出”属性(以及“附加”属性):
<echo message="Running md5 on the 3 required files"/>
<exec executable="${md5}" output="${md5_output}">
<arg line="${Dist}\binaries\LP100CRC.enc" />
</exec>
<exec executable="${md5}" output="${md5_output}" append="true">
<arg line="${Dist}\binaries\LP100_BootCRC.enc" />
</exec>
<exec executable="${md5}" output="${md5_output}" append="true">
<arg line="${Dist}\binaries\LP100512k.bin" />
</exec>