生活随笔
收集整理的這篇文章主要介紹了
ant 执行多个构建文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果需要在一個構件文件中通過Ant命令去執行另一個Ant項目,或者說要執行本項目的子項目的構件文件。這時Ant這個核心任務就派上用場了。簡單地說Ant任務的作用就相當于在命令行通過Ant命令執行構件文件。值得注意的是Ant任務依賴于target元素,需要在某個target元素中使用,不能在target元素外獨立使用。
Ant任務還可以實現類似Java程序間的繼承關系,不過對于這個核心任務來說只繼承property元素和reference屬性。舉個例子說,項目A中包含通過Ant任務去執行的項目B,而項目B中需要用到項目A中的屬性C,那么可以通過設置的Ant任務中的inheritAll屬性,使得在B項目中可以使用項目A中的屬性C。從另一方面看,這也符合XP(極限)編程中的細分功能的思想,可以把大的項目切分為幾分小項目,然后通過Ant工具進行整合。
?
項目結構:
project
-build.xml
-build1.xml
-build2.xml
-build3.xml
-file.properties
?
build.xml:
<?xml?version="1.0"?>??<project?default="run"?basedir="."?name="MyProject">????? ?????<property?file="user.properties"/>????? ?????<target?name="run">?????????<ant?antfile="${file1}"?dir="."?output="file1.log"?target="call"/>?????????<ant?antfile="${file2}"?dir="."?/>?????????<ant?antfile="${file3}"?dir="."?/>?????</target>????? ?</project>? ?
build1.xml
<?xml?version="1.0"?>??<project?default="init"?basedir="."?name="MyProject1">????? ?????<target?name="init">?????????<echo?message="This?is?in?Project1's?init?target."/>?????</target>????? ?????<target?name="call">?????????<echo?message="The?call?in?Project1"/>?????</target>????? ?</project>? ?
build2.xml
<?xml?version="1.0"?>??<project?default="call"?basedir="."?name="MyProject2">??????<target?name="init">?????????<echo?message="This?is?in?Project2's?init?target."/>?????</target>????? ?????<target?name="call"?depends="init">?????????<echo?message="The?call?in?Project2"/>?????</target>????? ?</project>? ?
build3.xml
<?xml?version="1.0"?>??<project?default="call"?basedir="."?name="MyProject3">????? ?????<target?name="init">?????????<echo?message="This?is?in?Project3's?init?target."/>?????</target>????? ?????<target?name="call">?????????<echo?message="The?call?in?Project3"/>?????</target>????? ?</project>? ?
?
file.properties
file1=build1.xml ?file2=build2.xml ?file3=build3.xml?
運行結果:
Buildfile:?C:\hxw\workspace\hibernate\build.xml ?run: ?call: ??????[echo]?The?call?in?Project1 ?init: ??????[echo]?This?is?in?Project2's?init?target. ?call: ??????[echo]?The?call?in?Project2 ?call: ??????[echo]?The?call?in?Project3 ?BUILD?SUCCESSFUL ?Total?time:?78?milliseconds? ?
轉載于:https://blog.51cto.com/hongxuwei/649384
總結
以上是生活随笔為你收集整理的ant 执行多个构建文件的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。