Ant 學習資源

網路資源

官方文件
http://ant.apache.org/manual/index.html
各個task的意義 Ant Tasks > Core Tasks

良葛格教學文件
1.什麼是 Ant?
http://www.javaworld.com.tw/jute/post/view?bid=11&id=48098&tpg=1&ppg=1&sty=0&age=0#48098

2.設定 Ant
http://www.javaworld.com.tw/jute/post/view?bid=11&id=90887&tpg=1&ppg=1&sty=0&age=0#90887

3.瞭解Ant buildfile
http://www.javaworld.com.tw/jute/post/view?bid=11&id=48100&tpg=1&ppg=1&sty=0&age=0#48100

4.Ant常用任務標籤
http://www.javaworld.com.tw/jute/post/view?bid=11&id=48101&sty=2&keywords=ant%E5%85%A5%E9%96%80

5.使用Ant建構實際範例
http://www.javaworld.com.tw/jute/post/view?bid=11&id=48102&sty=2&keywords=ant%E5%85%A5%E9%96%80

6.路徑(path)參考
http://www.javaworld.com.tw/jute/post/view?bid=11&id=52442&sty=2&keywords=ant%E5%85%A5%E9%96%80

7.條件式目標
http://www.javaworld.com.tw/jute/post/view?bid=11&id=48105&sty=2&keywords=ant%E5%85%A5%E9%96%80
補充:

1<?xml version="1.0"?> 
2<project name="Learning Hibernate" default="compile" basedir="."
3  <target name="prepare" description="Sets up build structures" if="haha"
4    <delete dir="${class.root}"/> 
5    <mkdir dir="${class.root}"/> 
6  </target> 
7    <target name="compile" depends="prepare"
8    <javac srcdir="${source.root}" 
9           destdir="${class.root}" 
10           debug="on" 
11           optimize="off" 
12           deprecation="on">    
13    </javac>            
14  </target> 
15</project> 

view plain | print | ?


條件是設定在prepare這個target,因此若直接執行ant,因為沒有加上參數 ant -Dhaha=true ,所以prepare這個target不會被執行,但是compile target仍然會被執行喔!


8.調用其它buildfile
http://www.javaworld.com.tw/jute/post/view?bid=11&id=48106&sty=2&keywords=ant%E5%85%A5%E9%96%80

9.自動化建構與測試 - Ant 結合 JUnit
http://www.javaworld.com.tw/jute/post/view?bid=11&id=48107&sty=2&keywords=ant%E5%85%A5%E9%96%80
補充:
如 果您要讓Ant能支援JUnit,建議您直接將JUnit的junit.jar放置在Ant的lib目錄,並記得改變CLASSPATH中原先有關於 JUnit的設定,例如:%ANT_HOME/lib/junit.jar,雖然也有其它的方式可以設定,但這是最快最簡單的方法。


安裝
1.下載檔案 http://ant.apache.org/bindownload.cgi
2.解壓縮至C:/Program Files/
3.設定系統變數 ANT_HOME = C:/Program Files/apache-ant-1.6.2;Path = ;%ANT_HOME%/bin;
4.下cmd指令 ant -version有成功設定OK


執行範例

build.xml

1<?xml version="1.0"?> 
2<project name="Learning Hibernate" default="run" basedir="."
3  <property name="source.root" value="src"/> 
4  <property name="class.root" value="classes"/> 
5  <path id="project.class.path"
6      <pathelement location="${class.root}" /> 
7  </path> 
8  <target name="prepare" description="Sets up build structures"
9    <delete dir="${class.root}"/> 
10    <mkdir dir="${class.root}"/> 
11  </target> 
12   <target name="compile" depends="prepare"
13    <javac srcdir="${source.root}" 
14           destdir="${class.root}" 
15           debug="on" 
16           optimize="off" 
17           deprecation="on">   
18    </javac>           
19   </target> 
20 <target name="run" description="Run a Hibernate sample" depends="compile"
21    <java classname="momopack.HelloWorld" fork="true">     
22       <classpath refid="project.class.path"/> 
23    </java> 
24  </target> 
25</project> 

view plain | print | ?



1根據設定在cmd下ant時會執行名稱為run的target

1<project name="Learning Hibernate" default="run" basedir="."

view plain | print | ?


2.在執行該target前會先執行相關depend的target,因此實際執行的順序為prepare > compile > run

1<target name="run" description="Run a Hibernate sample" depends="compile"
2<target name="compile" depends="prepare"

view plain | print | ?


3.classpath正確無誤的話便可看到console後印出"Hello World!!"


結合Junit

安裝
1.必須另外把junit.jar放到 ant/lib下


執行範例

build.xml

1<?xml version="1.0"?> 
2<project name="Learning Hibernate" default="compile" basedir="."
3  <property name="source.root" value="src"/> 
4  <property name="class.root" value="classes"/> 
5  <property name="lib.dir" value="lib"/> 
6  <property name="report.dir" value="unittestreport"/> 
7  <path id="project.class.path"
8      <pathelement location="${class.root}" /> 
9      <fileset dir="${lib.dir}"
10        <include name="*.jar"/> 
11      </fileset>     
12  </path> 
13  <target name="prepare" description="Sets up build structures"
14    <delete dir="${class.root}"/> 
15    <delete dir="${report.dir}"/> 
16    <mkdir dir="${class.root}"/> 
17    <mkdir dir="${report.dir}"/>   
18  </target> 
19  <target name="compile" depends="prepare"
20    <javac srcdir="${source.root}" 
21           destdir="${class.root}" 
22           debug="on" 
23           optimize="off" 
24           deprecation="on">         
25    </javac>               
26  </target> 
27  <target name="test" depends="compile"
28        <junit printsummary="yes">    
29            <formatter type="xml"/> 
30            <test name="test.tatung.util.StrUtilTest" todir="${report.dir}"/> 
31            <classpath refid="project.class.path"/> 
32        </junit> 
33   </target> 
34    <target name="report" depends="test"
35        <junitreport todir="${report.dir}"
36            <fileset dir="${report.dir}"
37                <include name="TEST-*.xml"/> 
38            </fileset> 
39            <report format="frames" todir="${report.dir}/html"/> 
40        </junitreport> 
41    </target> 
42</project>  

view plain | print | ?





問題排除
如task執行時出現OutOfMenory錯誤,則可嘗試加大jvm的記憶體使用量

1<target name="compile" description="compile *.java to *.class" depends="initiate"
2        <echo message="compile *.java ..." /> 
3        <javac fork="true" memoryInitialSize="512m" memoryMaximumSize="512m"
4               destdir="${basedir}/classes" 
5               srcdir="${java.src.dir}"
6            <classpath refid="project.class.path"/> 
7        </javac> 
8</target> 

view plain | print | ?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值