EchoXML是已經是螞蟻tast了指定採用嵌套的xml字符串作爲其內容,將這些內容直接輸出到文件(或控制檯)。所以根據文件,它不能滿足你的需求。
但是,使用javax xml擴展名和File api修改標準的ant任務來執行此操作非常簡單。
首先,請參閱http://ant.apache.org/manual/Tasks/echoxml.html,並確認EchoXML不會執行您需要的操作。
現在,一個簡單的解決方案是實現自己的XML作家的任務......簡單地寫自己的類:
public class MyFileTreeWriter extends Task {
public void execute() {
File dirs = new File("./");
//Alternatively, you can use apache's FileUtils directory walkers https://commons.apache.org/io/api-1.4/index.html?org/apache/commons/io/DirectoryWalker.html
// Psuedo code below, uses standard javax.xml.* packages ...
for (String file : dirs.listFiles()){
Element em = document.createElement("file");
em.appendChild(document.createTextNode(file);
rootElement.appendChild(em);
}
}
然後將其添加到您的構建:
<target name="use" description="MyFileTreeWriter task" depends="jar">
<taskdef name="writeDirs" classname="MyFileTreeWriter" classpath="${ant.project.name}.jar"/>
</target>
做的工作,謝謝 –