麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ANT編譯build.xml

2019-11-14 23:39:44
字體:
來源:轉載
供稿:網友
ANT編譯build.xml

一,體驗ant就像每個語言都有HelloWorld一樣,一個最簡單的應用能讓人感受一下Ant1,首先你要知道你要干什么,我現在想做的事情是:編寫一些程序編譯它們把它打包成jar包把他們放在應該放置的地方運行它們這里為了簡單起見只寫一個程序,就是HelloWorld.java程序代碼如下:package test.ant;public class HelloWorld{public static void main(String[] args){ System.out.

--把你想做的每一件事情寫成一個target ,它有一個名字,depends是它所依賴的target,在執行這個target 例如這里的compile之前ant會先檢查init是否曾經被執行過,如果執行過則直接直接執行compile,如果沒有則會先執行它依賴的target例如這里的init,然后在執行這個target<target name="compile" depends="init"> --編譯: <javac srcdir="${src}" destdir="${dest}"/></target><target name="build" depends="compile"> --打jar包 <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>

好了,解釋完成了,下邊檢驗一下你的ant吧新建一個src的文件夾,然后把HelloWorld.java按照包目錄放進去做好build.xml文件,最好將這些放到一個文件夾中,在cmd中進入該文件夾,在命令行下鍵入ant ,你會發現一個個任務都完成了。每次更改完代碼只需要再次鍵入ant有的時候我們可能并不想運行程序,只想執行這些步驟中的某一兩個步驟,例如我只想重新部署而不想運行,鍵入ant buildant中的每一個任務都可以這樣調用ant + target name好了,這樣一個簡單的ant任務完成了。

引入兩個東西:1,propery2,xml include這兩個東西都有一個功能,就是能把build.xml中<propery />中的內容分離出來,共同使用除此之外它們各有特點:propery的特點是維護簡單,只需要簡單的鍵值對,因為并不是所有人都喜歡xml的格式xml include的特點是不單可以提取出屬性來,連target也可以。還是以前的例子:例如我們想把src1 src2 src3這三個屬性從xml中提出來,可以新建一個文件叫all.properties里邊的內容src1=D://study//ant//src1src2=D://study//ant//src2src3=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>

掌握了上邊的那些內容之后,你就知道如何去寫一個好的ant,但是你會發現當你真的想去做的時候,你不能馬上作出好的build.xml,因為你知道太少的ant的默認提供的命令.這個時候如果你想完成任務,并提高自己,有很多辦法:1,很多開源的程序都帶有build.xml,看看它們如何寫的2,ant的document,里邊詳細列寫了ant的各種默認命令,及其豐富3,google,永遠不要忘記它ok,在這之后隨著你寫的ant build越來越多,你知道的命令就越多,ant在你的手里也就越來越強大了。這個是一個慢慢積累的過程。

ant的例子很好找,各種開源框架都會帶有一個build.xml仔細看看,會有很大收獲另外一個經常會用到的,但是在開源框架的build.xml一般沒有的是cvs如果使用的是遠程的cvs,可以這樣使用<xml version="1.0" encoding="utf-8"?><project> <property name="cvsroot" value=":pserver:wang:@192.168.1.2:/cvsroot"/> <property name="basedir" value="/tmp/testant/"/> <property name="cvs.passWord" value="wang"/> <property name="cvs.passfile" value="${basedir}/ant.cvspass"/> <target name="initpass"> <cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="${cvs.passfile}"/> </target> <target name="checkout" depends="initpass"> <cvs cvsroot="${cvsroot}" command="checkout" cvsrsh="ssh" package="myproject" dest="${basedir}" passfile="${cvs.passfile}"/> </target></project>

在eclipse里邊先天支持ant,所以你可以在eclipse里邊直接寫build.xml因為eclipse提供了提示功能,自動補充功能,它能讓你事半功倍。使用方法,只需要建立一個工程,然后建立一個叫build.xml的文件。然后就可以在里邊寫你的ant build了但是時刻記住http://www.apache.org/永遠能找到你需要的東西

以上來自Java Ant build.xml詳解


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜激情视频免费 | 精品国产一区二区三区久久久蜜月 | 狠狠操精品视频 | 国产一级一区 | 国内精品伊人久久 | av电影观看| 欧美 日韩 亚洲 中文 | 做爰裸体激情2 | 97干色| 国产精品看片 | av电影院在线观看 | 精品国产一区二区三区四区在线 | 看免费5xxaaa毛片 | 中国国语毛片免费观看视频 | 神马久久蜜桃 | 一本在线高清码电影 | 成人在线免费观看视频 | 黄网站在线免费 | 羞羞色院91精品网站 | 精品国产99久久久久久宅男i | 一区二区美女视频 | 久久久免费 | asiass极品裸体女pics | 蜜桃网站免费 | 亚洲精品久久久久久下一站 | av不卡毛片| 国产亚洲精品一区二区三区 | 免费a视频 | 国产国语毛片 | 日本高清在线免费 | 亚洲二区三区在线 | 娇妻被各种姿势c到高潮小说 | 欧美性生活久久 | www成人在线观看 | 性爱视频在线免费 | 在线观看国产www | 91精品久久久久久久久 | 黄 色 免费网 站 成 人 | 欧美精品欧美 | 欧美色大成网站www永久男同 | 午夜在线视频一区二区三区 |