我們希望在不使用foreach的情況下遍歷ant中的目錄結構。 有沒有什麼優雅的方法可以做到這一點?在ant中循環目錄結構
回答
的apply task可以遍歷一組目錄或文件
<target name="run-apply">
<apply executable="echo">
<dirset dir="src"/>
</apply>
</target>
我個人比較喜歡的任務罐子的groovy ANT task
<target name="run-groovy">
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>
<dirset id="dirs" dir="src"/>
<groovy>
project.references.dirs.each {
ant.echo it
}
</groovy>
</target>
安裝易於實現自動化的:
<target name="install-groovy">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/groovy-all.jar" src="http://search.maven.org/remotecontent?filepath=org/codehaus/groovy/groovy-all/2.1.1/groovy-all-2.1.1.jar"/>
</target>
最後如果你通過其他構建fil迭代es,subant任務是非常有用的:
<target name="run-subant">
<subant>
<fileset dir="src" includes="**/build.xml"/>
</subant>
</target>
申請獲得所需的功能是不會爲我工作的,因爲我不想爲每個元素開始一個新的過程 – 2015-03-19 18:14:06
@ConstantinoCronemberger Fine .... Groovy任務是更有效的循環機制。 – 2015-03-19 19:35:31
實際上我使用的是maven-antrun-plugin,在這之後我可以看看groovy-maven-plugin。 – 2015-03-20 12:12:14
簡而言之:不是真的。有辦法解決這個問題,但我更喜歡清晰和簡單的ant-contrib <for/>
任務。通過<local/>
任務,您現在可以對變量的值進行本地化。之前,您有時必須使用ant-contrib的<var/>
任務來重置值,因此您可以反覆遍歷它們。
<for param="directory">
<fileset dir="${some.dir}"/>
<sequential>
<local name="foo"/>
<local name="bar"/> <!-- Properties that may change with each iteration -->
<!-- Here be dragons -->
</sequential>
</for>
它乾淨,簡單,易於理解。很多人在Ant Contrib中遇到的最大問題是,並不是每個人都可能將它安裝在$ANT_HOME/lib
目錄中。遠遠不夠。所以,如果你使用ant-contrib,把它作爲你的項目的一部分。
我把螞蟻的contrib一罐${basedir}/antlib/antcontrib
,然後把這個在我的計劃:
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<fileset dir="${basedir}/antlib/antcontrib"/>
</classpath>
</taskdef>
現在,當有人取出我的項目,他們已經安裝了螞蟻的contrib(因爲它是內部我的項目)並且可以訪問(因爲我在我的項目中將我的<taskdef>
任務指向了ant-contrib.jar的位置)。
- 1. Ant和jar目錄結構
- 2. 如何用Ant編寫目錄結構?
- 3. 如何通過Python中的目錄結構中的某些目錄循環?
- 4. 使用在shell腳本循環遍歷目錄結構
- 5. 如何在ant jar文件中包含目錄結構?
- 6. 循環在目錄
- 7. Ant構建目錄正確
- 8. 結構在循環值
- 9. 循環結構:在C
- 10. 循環和非循環數據結構
- 11. 在循環中擴展結構/文檔
- 12. 在MATLAB中編寫循環結構?
- 13. 目錄結構
- 14. Ant - 循環調用目標一次
- 15. foreach循環中嵌套while循環的結果集結構
- 16. Ant嵌套循環
- 17. 在proc中循環訪問目錄
- 18. 在while循環中隱藏子目錄
- 19. 在目錄中循環顯示圖像
- 20. zsh - 在glob循環中包含目錄
- 21. 「for」在shell中循環遍歷目錄
- 22. 在圖像目錄中循環訪問
- 23. 在PHP中循環瀏覽目錄?
- 24. 排序子目錄在for循環中
- 25. 使用ant名稱空間/目錄結構
- 26. 在R中循環遍歷for循環的子目錄
- 27. PHP中的目錄結構
- 28. Eclipse項目結構ANT和MAVEN
- 29. C結構使用循環
- 30. while循環結構與`apply`
你在做什麼目錄結構?如果您正在爲每個目錄構建一個ant項目,您可以通過[subant](http://ant.apache.org/manual/Tasks/subant.html) – David 2013-03-06 16:17:50