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

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

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

    DANCE WITH JAVA

    開發出高質量的系統

    常用鏈接

    統計

    積分與排名

    好友之家

    最新評論

    ant教程(六) ant進階

    ok,上邊你完成了任務,但是你是否有些感觸呢,在那些build.xml中,大多數是重復的,而且更改一次目錄需要更改不少東西。是否能讓工作做的更好一點呢,答案是肯定的。
    引入兩個東西:
    1,propery
    2,xml include

    這兩個東西都有一個功能,就是能把build.xml中<propery />中的內容分離出來,共同使用
    除此之外它們各有特點:

    propery的特點是維護簡單,只需要簡單的鍵值對,因為并不是所有人都喜歡xml的格式

    xml include的特點是不單可以提取出屬性來,連target也可以。

    還是以前的例子:
    例如我們想把src1 src2 src3這三個屬性從xml中提出來,可以新建一個文件叫all.properties
    里邊的內容
    src1=D:\\study\\ant\\src1
    src2=D:\\study\\ant\\src2
    src3=D:\\study\\ant\\src3
    然后你的build.xml文件可以這樣寫,別人只需要更改配置文件,而不許要更改你的build.xml文件了

    <?xml version="1.0" encoding="UTF-8" ?>
    <project name="main" default="build" basedir=".">
    ?<property file="all.properties" />
    ?<property name="bin" value="${basedir}\bin" />
    ?<target name="init">
    ??<mkdir dir="${bin}" />
    ?</target>
    ?<target name="run">
    ??<ant dir="${src1}" target="run" />
    ??<ant dir="${src2}" target="run" />
    ??<ant dir="${src3}" target="run" />
    ?</target>
    ?<target name="clean">
    ??<ant dir="${src1}" target="clean" />
    ??<ant dir="${src2}" target="clean" />
    ??<ant dir="${src3}" target="clean" />
    ?</target>?
    ?<target name="build" depends="init,call">
    ??<copy todir="${bin}">
    ???<fileset dir="${src1}">
    ????<include name="*.jar" />
    ???</fileset>
    ???<fileset dir="${src2}">
    ????<include name="*.jar" />
    ???</fileset>
    ???<fileset dir="${src3}">
    ????<include name="*.jar" />
    ???</fileset>
    ??</copy>
    ?</target>
    ?<target name="rebuild" depends="build,clean">
    ??<ant target="clean" />
    ??<ant target="build" />
    ?</target>
    ?<target name="test">
    ??<ant dir="${src1}" target="test" />
    ??<ant dir="${src2}" target="test" />
    ??<ant dir="${src3}" target="test" />
    ?</target>
    </project>
    如果你自己看的話你會看到這樣一個target
    <target name="test">
    ?<ant dir="${src1}" target="test" />
    ?<ant dir="${src2}" target="test" />
    ?<ant dir="${src3}" target="test" />
    </target>
    有的時候你想給每個小組的build.xml加入幾個target,一種做法是每個里邊寫,然后在這里調用
    但是有一種更好的方法。
    你可以寫一個include.xml文件,內容如下
    <?xml version="1.0" encoding="UTF-8" ?>
    <property name="src" value="src"/>
    <property name="dest" value="classes"/>
    <target name="test" >
    ?<ant target="run" />
    </target>
    然后更改你三個小組的build.xml文件,每個里邊加入如下內容
    <!--include a xml file ,it can be common propery ,can be also a target? -->
    <!DOCTYPE project [
    <!ENTITY share-variable SYSTEM "file:../include.xml">
    ]>
    &share-variable;
    變成如下的樣子
    這個時候,你只要在include.xml添加propery , 添加target,三個build.xml會同時添加這些propery和target
    而且不會讓三個組的build.xml變得更復雜。

    <?xml version="1.0" encoding="UTF-8" ?>
    <!--include a xml file ,it can be common propery ,can be also a target? -->
    <!DOCTYPE project [
    <!ENTITY share-variable SYSTEM "file:../include.xml">
    ]>
    <project name="HelloWorld" default="run" basedir=".">
    ?<!--use the include? -->
    ?&share-variable;
    ?<!--defined the property-->
    ?<!--via include
    ?<property name="src" value="src"/>
    ?<property name="dest" value="classes"/>
    ?-->
    ?<property name="hello_jar" value="hello1.jar"/>
    ?<!--define the op-->
    ?<target name="init">
    ??<mkdir dir="${dest}"/>
    ?</target>
    ?<target name="compile" depends="init">
    ??<javac srcdir="${src}" destdir="${dest}"/>
    ?</target>
    ?<target name="build" depends="compile">
    ??<jar jarfile="${hello_jar}" basedir="${dest}"/>
    ?</target>
    ?<target name="run" depends="build">
    ??<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
    ?</target>
    ?<target name="clean">
    ??<delete dir="${dest}" />
    ??<delete file="${hello_jar}" />
    ?</target>
    ?<target name="rerun" depends="clean,run">
    ??<ant target="clean" />
    ??<ant target="run" />
    ?</target>
    </project>

    posted on 2006-09-20 00:19 dreamstone 閱讀(1568) 評論(1)  編輯  收藏 所屬分類: 利器

    評論

    # re: ant教程(六) ant進階 2007-07-23 09:14 郁悶

    請問有一個j2ee工程,使用了hibernate,struts技術,那么如何編寫buiuld.xml
    以完成編譯,打war包的工作呢?  回復  更多評論   

    主站蜘蛛池模板: 67pao强力打造国产免费| 久久最新免费视频| 好先生在线观看免费播放 | 免费人成在线观看播放a| 天天干在线免费视频| 色噜噜亚洲男人的天堂| 成人人观看的免费毛片| 99久久国产亚洲综合精品| 日本19禁啪啪无遮挡免费动图| 蜜桃传媒一区二区亚洲AV| 日韩高清在线高清免费| 国产成人+综合亚洲+天堂| 亚洲欧洲中文日韩av乱码| 91视频免费网站| 亚洲人成电影福利在线播放| www视频免费看| 亚洲男人的天堂网站| 亚洲VA综合VA国产产VA中| 99视频在线观看免费| 久久久久亚洲AV成人片| 四虎永久在线精品免费网址| 色www免费视频| 亚洲国产一区国产亚洲 | 久久免费美女视频| 亚洲情a成黄在线观看动漫尤物| 久久福利资源网站免费看| 亚洲AV成人一区二区三区观看| 亚洲高清最新av网站| 日韩视频在线观看免费| 亚洲av日韩av综合| 免费在线视频一区| 国产午夜无码精品免费看| 亚洲综合久久一本伊伊区| 亚洲午夜无码AV毛片久久| 一级毛片免费不卡在线| 亚洲狠狠婷婷综合久久| 亚洲AV无码乱码在线观看裸奔| 最近中文字幕免费mv视频7| 国产精品免费久久| 亚洲国产91在线| 国产自偷亚洲精品页65页|