<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 閱讀(1567) 評論(1)  編輯  收藏 所屬分類: 利器

    評論

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

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

    主站蜘蛛池模板: 亚洲爱情岛论坛永久| 免费a级毛片无码av| 亚洲av无码一区二区乱子伦as | 美女视频黄视大全视频免费的| 18禁网站免费无遮挡无码中文| 亚洲国产精品成人精品小说| **真实毛片免费观看| 亚洲毛片一级带毛片基地| **一级一级毛片免费观看| 亚洲欧洲在线播放| 免费大片黄在线观看yw| 亚洲日本一线产区和二线| 午夜爱爱免费视频| 免费无毒a网站在线观看| 中文字幕第一页亚洲| 久久国产精品免费看| 亚洲成aⅴ人在线观看| 无人在线观看完整免费版视频| 欧洲 亚洲 国产图片综合| 免费在线看片网站| 国产午夜无码片免费| 久久青青成人亚洲精品| 国产高清免费视频| 亚洲成AV人影片在线观看| 亚洲精品第一国产综合境外资源| 国产精品hd免费观看| 亚洲久本草在线中文字幕| 青青青国产在线观看免费| 老子影院午夜伦不卡亚洲| 久久亚洲2019中文字幕| 一级毛片全部免费播放| 亚洲午夜无码毛片av久久京东热| 亚洲av午夜精品一区二区三区| 国产永久免费高清在线| 亚洲伦理中文字幕| 久久精品国产精品亚洲下载| 亚洲免费福利视频| 特级毛片免费观看视频| 久久久久亚洲AV无码专区体验| 在线a人片天堂免费观看高清| 成全视成人免费观看在线看|