<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Natural

     

    [ant]使用ant構(gòu)建自動化樣例

    通過ant來實現(xiàn)項目的自動化構(gòu)建。
    只要寫一下構(gòu)建文件(bulid.xml),即可自動完成你預定的任務(wù),例如對java源代碼進行編譯、測試、打包、生成文檔等。ant還可以通過ant插件實現(xiàn)很多應(yīng)用的調(diào)用。

    ant樣例:
    1、在eclipse建立一個java項目:antExample
    2、創(chuàng)建lib文件夾,junit.jar放在下面
    3、創(chuàng)建一個包:com
    4、該包下創(chuàng)建一個類:HelloAnt.java
    5、該包下創(chuàng)建一個junit測試類:HelloAntTest.java
    6、項目根目錄下創(chuàng)建一個build.xml文件,其內(nèi)容如下:

      1 <?xml version="1.0"?>
      2 <project name="antExample" default="doc">
      3 
      4 <!-- properies -->
      5 <property name="src.dir"         value="src" />            <!-- 源代碼 -->
      6 <property name="report.dir"     value="report" />        <!-- 測試報告 -->
      7 <property name="classes.dir"     value="classes" />        <!-- 編譯后class文件 -->
      8 <property name="lib.dir"         value="lib" />            <!-- 要運用的jar文件 -->
      9 <property name="dist.dir"         value="dist" />            <!-- 打包后的jar文件 -->
     10 <property name="doc.dir"         value="doc"/>            <!-- API文檔 -->
     11 <property name="jar.file.name"        value="test1.jar"/>        <!-- 打包后生成的jar文件的文件名 -->
     12 <!-- manifest清單的屬性 -->
     13 <property name="jar.manifest.version"     value="1.0"/>
     14 <property name="jar.manifest.created-by"     value="jdk1.6.0_05"/>
     15 <property name="jar.manifest.main-class"     value="com/HelloAnt"/>
     16 <property name="jar.manifest.class-path"     value=""/>
     17     
     18 <property name="jdk.version"     value="1.6"/>
     19     
     20 <!-- 定義classpath -->
     21 <path id="master-classpath">
     22     <fileset dir="${lib.dir}">
     23         <include name="*.jar"/>
     24     </fileset>
     25     <pathelement path="${classes.dir}"/>
     26 </path>
     27 
     28 <target name="delete">  
     29     <echo>刪除classes目錄下面的無用文件</echo>  
     30     <delete dir="${classes.dir}"></delete>  
     31     <echo>刪除dist目錄下面的無用jar文件</echo>  
     32     <delete dir="${dist.dir}"></delete>
     33     <echo>刪除reprot目錄下面的無用測試報告文件</echo>  
     34     <delete dir="${report.dir}"></delete>  
     35     <echo>刪除doc目錄下面的無用java文檔</echo>  
     36     <delete dir="${doc.dir}"></delete>  
     37     <echo>清除完畢</echo>  
     38 </target>  
     39 
     40 <!-- 初始化任務(wù) -->
     41 <target name="init" depends="delete">
     42     <echo message="下面開始初始化任務(wù) ${src.dir}"></echo>
     43 </target>
     44 
     45 <!-- 編譯 -->
     46 <target name="compile" depends="init" description="compile the source files">
     47     <mkdir dir="${classes.dir}"/>
     48     <javac srcdir="${src.dir}" destdir="${classes.dir}" target="${jdk.version}">
     49         <classpath refid="master-classpath"/>
     50     </javac>
     51 </target>
     52 
     53 <!-- 測試 -->
     54 <target name="test" depends="compile" description="run junit test">
     55     <mkdir dir="${report.dir}"/>
     56 
     57     <junit printsummary="on">
     58         <classpath refid="master-classpath" />
     59         <batchtest fork="true" todir="${report.dir}">
     60             <fileset dir="${src.dir}">
     61                 <include name="**/*Test.*"/>
     62             </fileset>
     63         </batchtest>
     64         <formatter type="brief" usefile="true"/>  <!--如果沒有設(shè)置formatter,將無法打印出詳細的信息--> 
     65         <formatter type="plain" /><!--默認usefile為true,將會自動創(chuàng)建txt文件-->
     66         <formatter type="xml" />
     67     </junit>
     68 </target>
     69 
     70 <!--根據(jù)指定文件夾中的.xml文件生成html格式的測試report-->
     71 <target name="report" depends="test">
     72     <junitreport todir="${report.dir}" >
     73         <fileset dir="${report.dir}">
     74             <include name="TEST-*.xml" />                      
     75        </fileset>
     76        <report format="frames" todir="${report.dir}" />
     77     </junitreport>
     78 </target>
     79     
     80 <!-- 打包成jar -->
     81 <target name="pack" depends="report" description="make .jar file">
     82 <mkdir dir="${dist.dir}" />
     83 <jar destfile="${dist.dir}/${jar.file.name}" basedir="${classes.dir}">
     84 <manifest>
     85     <attribute name="Manifest-Version" value="${jar.manifest.version}"/>
     86     <attribute name="Created-By" value="${jar.manifest.created-by}"/>
     87     <attribute name="Main-Class" value="${jar.manifest.main-class}"/>
     88     <attribute name="Class-Path" value="${jar.manifest.class-path}"/>
     89 </manifest>
     90 <exclude name="**/*Test.*" />
     91 <exclude name="**/Test*.*" />
     92 </jar>
     93 </target>
     94 
     95 <!-- 輸出api文檔 -->
     96 <target name="doc" depends="pack" description="create api doc">
     97     <mkdir dir="${doc.dir}" />
     98     <javadoc 
     99         sourcepath="${src.dir}"
    100         packagenames="com.*"
    101         destdir="${doc.dir}" 
    102         author="true" 
    103         version="true" 
    104         use="true" 
    105         splitindex="true"
    106         linksource="false"
    107         windowtitle="antExample API">
    108         <doctitle><![CDATA[<h1>antExample project</h1>]]></doctitle>
    109         <bottom><![CDATA[<i>All Rights Reserved.</i>]]></bottom>
    110     </javadoc>
    111 </target>
    112     
    113 </project>



    posted on 2010-08-11 11:45 此號已被刪 閱讀(498) 評論(0)  編輯  收藏 所屬分類: 腳本

    導航

    統(tǒng)計

    常用鏈接

    留言簿(8)

    隨筆分類(83)

    隨筆檔案(78)

    文章檔案(2)

    相冊

    收藏夾(7)

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人精品国产亚洲欧洲| 日韩精品无码专区免费播放| 亚洲国产成人乱码精品女人久久久不卡 | 国产亚洲精品AAAA片APP| 免费在线观看一级毛片| a视频免费在线观看| 亚洲国产美女精品久久久久| 国产一区二区三区在线免费观看| 两性色午夜免费视频| va天堂va亚洲va影视中文字幕| 亚洲AⅤ无码一区二区三区在线 | 中文字幕人成无码免费视频| 色视频在线观看免费| 亚洲日本在线看片| 四虎免费永久在线播放| 日韩免费无码一区二区三区| 在线观看亚洲免费视频| 91大神亚洲影视在线| 亚洲国产成人a精品不卡在线| 97在线视频免费| 免费无毒a网站在线观看| 亚洲国产精品综合久久久| 亚洲A∨精品一区二区三区| 国产无人区码卡二卡三卡免费 | 国产gav成人免费播放视频| 永久在线观看免费视频| 久久人午夜亚洲精品无码区| 久久久久亚洲AV成人无码网站| 国产精品免费播放| 最近的免费中文字幕视频| 国内精品一级毛片免费看| 羞羞视频网站免费入口| 亚洲日本国产乱码va在线观看| 国产亚洲精久久久久久无码AV| 日韩精品福利片午夜免费观着| 国产高清不卡免费视频| jyzzjyzz国产免费观看| 亚洲日本中文字幕天天更新| 亚洲宅男永久在线| 亚洲av午夜福利精品一区 | 亚洲精品无码Av人在线观看国产 |