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

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

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

    HelloWorld 善戰者,求之于勢,不責于人;故能擇人而任勢。

    知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

      BlogJava :: 首頁 ::  :: 聯系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks
    1.project標簽
    <project basedir=”.” name=”example” default=”main”>
    ….
    <target name=”main”>
    ….
    </target>
    ….
    </project>
    project 標記包含3個屬性:
    。basedir 指定項目所在的目錄位置
    。name 設定項目的名稱
    。default 設頂項目的build執行時預設的target

    2.target標簽
    target標簽在project標簽之內,一個project可以包含多個target
    ….
    <target name=”init”>
    </target>
    <target desponds=”init” description=”執行程序” name=”main”>
    </target>
    ….
    target 標簽包含6個屬性
    。description 對于這個target的描述
    。name target的名稱
    。depends 所依賴的其他target
         example:
    {
         <target name=”x”/>
         <target name=”y”/>
         <target depends=”x,y” name=”z”/>
         …..
         執行順序為xyz
    }
    。if 檢查某個屬性(x)設置了,只有這個屬性(x)的時候target才執行
         example
         {
             <property name=”someOne” value=”someValue”/>
             <target name=”init”>
             </target>
             <target if=”someOne” deends=”init” description=”執行程序” name=”main”>
             </target>
             …..
             只有someOne這個屬性被設置了,init執行了,main才執行
         }
    。unless 檢查某個屬性(x)是否被設置了,和if相反,只有這個屬性沒有設置的時候才執行這個任務。
    。id 標記這個target的id.
    3.task標簽
    task 可以用來執行一個特定的工作,在Ant中已經做了許多工作,而且Ant的結構也支持所以用者自己開發task,只要在使用前申明這個task就可以了
         example:
    {
         <target name=”xdoclet”>
             <taskdef classpathref=”path” classname=”xdoclet.modules.ejb.A” name=”ejbdoclet”>
             <taskdef          classpathref=”path” className=”xdoclet.modules.B” name=”jbossnet”>
             <ejbdoclet ejbspec=”2.0” destDir=”src”>
                 <fileset dir=”src”      includes=”**/*.java” />
                 <deploymentdescriptior destDir=”src/META-INF” />
                 <homeinterface/>
                 <remoteinterface/>
                 <jboss version=”4.0” destDir=”src/META-INF” />
                 <jbossnet webDeploymentName=”hello” prefix=”hello” destDir=”build/hello/META-INF” targetNameSpace=”http://….” />
                 <packageSubstitution packages=”ejb” substituteWith=”interfaces”/>
             </ejbdoclet>
         </target>
    }

    4.基本的元素
         ⑴property用來標記project中一些公用的設定值,
         example:
    {
         ……
         <property id=”ref” name=”source” value=”src”/>
         <property name=”scr” refid=”ref” />
         <property name=”jboss.test.jbossmx” location=”${build.lib}/jboss-jmx.jar”/>
         ……

         也可以從其他文件取得屬性
         <property enviroment=”env” />
         <property resource=”org/jboss/tools/task.properties”/>
         <property file=”./task.properties”/>
    }
         ⑵路徑classpath可以在target中設置java的classpath
                 example:
    {
                 <target name=”compile-classes”>
                     <mkdir dir=”${build.classes}”/>
                     <javac destdir=”${build.classes}” target=”${javac.target}”>
                         <classpath>
                             <pathelement Location=”{build.classes}”/>
                             <pathelement Location=”{bodule.source}/test”/>
                             <path refid=”javac.classpath”/>
                         </classpath>
                     </javac>
                 </target>
                 。。。。。。。
                 也可以通過path設定通用的路徑,然后在其他的位置應用
                     <path id=”path”>
                         <fileset dir=”${lib}”>
                             <include name=”*.jar”/>
                         </fileset>
                         <pathelement location=”${build.classes}”/>
                     </path>
                     <target name=”compile-classes”>
                         <mkdir dir=”${build.classes}”/>
                         <javac destdir=”{build.classes}” target=”${javac.target}”>
                             <classpath      refid=”path”/>
                         </javac>
                     </target>
                     …….
    }

    ⑶文件相關的標簽
    fileset用來描述一些文件的集合:
    。dir 設定fileset的根目錄的位置
    。exclude 設定fileset不包含的文件
    。include 設定fileset包含的文件
         example {
             …..
             <fileset      dir=”${source.java}”>
                 <include name=”**/*.properties”/>
                 <exclude name=”**/javax.servlet.jar”/>
                 <exclude name=”**/xxx.jar”/>
             </fileset>
             …
    }

    。dirset用來描述目錄的集合:
    。dir      設定dirset的根目錄位置
    。exclude設定dirset不包含的文件
    。include 設定dirset包含的文件
         example {
             …..
             <dirset      dir=”${build.dir }”>
                 <include name=”**/classes”/>
                 <exclude name=”**/*Test**”/>
             </dirset>
             …
    }
    。mkdir用來描述目錄的集合:
    。dir      設定要建立的目錄
         example
         {
             …
             <mkdir dir=”${build}”/>
             <mkdir dir=”${build}/classes”/>
             <mkdir dir=”${doc}/>
             …
    }
    。copy用來復制文件
    。todir 用來設定復制文件的目的地
    。fileset做為要復制的文件的集合,在copy下可以放置多個fileset和其他文件的標簽
             example
             {
                 …
                 <copy todir=”${build}/war”>
                     <fileset dir=”${src}/classes”></fileset>
                 </copy>
                 …
    }

    。delete 用來刪除文件
    。fileset做要刪除文件的集合,可以放多個標簽和其他的文件的標簽
             example
             {
                 …
                 <delete>
                     <fileset dir=”${build}” include=”**/*.java”/>
                 </delete>
                 …
    }

    5.結構標簽
    ⑴ant用來呼叫其他的build文件, 讓多個子文件可以一起工作
    ,antfile 指定的外部build文件
    。target 指定的外部build文件中的一個target

    <ant antfile=”anotherbuild.xml”/>
    <ant antfile=”anotherbuild.xml” target=”compile”/>
    ….
    ⑵antcall 可以調用其他的target
    。target 指定的target名稱
    。param 調用時傳的參數

    <target      name=”init”>
    </target>
    <antcall target=”iniit”>
         <param name=”parame1” value=”value1”/>
    </anticall>

    ⑶sequential 在sequential中的任務將被依照順序執行

    <sequential>
         <anticall target=”task1”></anticall>
         <anticall target=”task2”></anticall>
         <anticall target=”task3”></anticall>
    </sequential>

    ⑷parallel 在parallel中的任務將會被并行執行

    < parallel >
         <anticall target=”task1”></anticall>
         <anticall target=”task2”></anticall>
         <anticall target=”task3”></anticall>
    </ parallel >


    </script>

    posted on 2007-08-13 18:49 helloworld2008 閱讀(2596) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 97人妻无码一区二区精品免费| 久久狠狠躁免费观看2020| 毛片免费vip会员在线看| 亚洲成a人片7777| 男女做羞羞的事视频免费观看无遮挡| 亚洲av永久无码精品国产精品| 一区二区三区无码视频免费福利| 国产精品亚洲精品日韩已满| 日韩精品无码免费专区网站| 亚洲国产精品无码av| 国产日韩AV免费无码一区二区| 国产av天堂亚洲国产av天堂| 精品福利一区二区三区免费视频 | 亚洲不卡无码av中文字幕| 99亚洲男女激情在线观看| 免费午夜爽爽爽WWW视频十八禁| 在线播放亚洲精品| 久久精品国产精品亚洲艾草网美妙| 美女巨胸喷奶水视频www免费| 亚洲处破女AV日韩精品| 一区二区三区四区免费视频 | 久久亚洲最大成人网4438| 久久99九九国产免费看小说| 国产成人 亚洲欧洲| 精品国产人成亚洲区| 无码少妇精品一区二区免费动态| 亚洲精品在线免费看| 日韩免费高清一级毛片在线| 国产A∨免费精品视频| 亚洲一区免费观看| 免费高清资源黄网站在线观看| 九一在线完整视频免费观看| 亚洲综合久久久久久中文字幕| 色吊丝最新永久免费观看网站| 国产精品1024在线永久免费 | 国产情侣激情在线视频免费看| 国产精品亚洲一区二区三区久久 | 亚洲无删减国产精品一区| 天天操夜夜操免费视频| 成人无码视频97免费| 日本亚洲精品色婷婷在线影院|