亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

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网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久五月天综合| 久久精品2019中文字幕| 久久久久久久av| 亚洲国产中文字幕久久网| 亚洲自拍偷拍色图| 亚洲视频一区二区| 国产精品成熟老女人| 97超视频免费观看| 亚洲免费视频一区二区| 亚洲精品456在线播放狼人| 国产精品久久一| 亚洲性视频网址| 国产精品久久久久久av| 久久久久久久成人| 欧美激情网站在线观看| 久久综合88中文色鬼| 亚洲视频视频在线| 日韩成人在线观看| 81精品国产乱码久久久久久| 久久色在线播放| 久久精品一本久久99精品| 久久久爽爽爽美女图片| 国产精品视频内| 午夜欧美不卡精品aaaaa| 国产偷亚洲偷欧美偷精品| 一区二区亚洲欧洲国产日韩| 国产成人福利视频| 亚洲国产中文字幕久久网| 亚洲天堂日韩电影| 欧美激情一级欧美精品| 上原亚衣av一区二区三区| 国产视频在线观看一区二区| 欧美一乱一性一交一视频| 欧美性猛交xxxx免费看漫画| 庆余年2免费日韩剧观看大牛| 久久中文字幕国产| 欧美国产日韩二区| 亚洲丁香久久久| 国内精品400部情侣激情| 亚洲va电影大全| 91日韩在线播放| 日韩美女视频免费看| 久色乳综合思思在线视频| 中文字幕日韩综合av| 久久国产天堂福利天堂| 亚洲免费伊人电影在线观看av| 国产视频精品一区二区三区| 欧美xxxx做受欧美.88| 欧美日韩国产综合视频在线观看中文| 久久中文久久字幕| 日韩电影大片中文字幕| 亚洲精品日韩久久久| 欧美老女人在线视频| 欧美性xxxx极品高清hd直播| 成人欧美一区二区三区黑人| 久久亚洲精品一区| www.日韩系列| 国产精品久久婷婷六月丁香| 亚洲国产欧美一区二区丝袜黑人| 亚洲天堂成人在线| 欧美第一黄网免费网站| 久久人人爽人人爽人人片av高请| 一区二区欧美激情| 中文字幕日韩av电影| 欧美激情videoshd| 日韩国产在线看| 欧美日韩激情小视频| 亚洲国产成人精品久久久国产成人一区| 久久综合久中文字幕青草| 成人美女av在线直播| 亚洲三级黄色在线观看| 亚洲精品自产拍| 一区二区三区国产在线观看| 午夜精品一区二区三区在线视频| 欧美性资源免费| 欧美激情啊啊啊| 亚洲国产精品人人爽夜夜爽| 欧美日韩在线一区| 亚洲影视中文字幕| 成人黄色网免费| 国产精品久久激情| 久久久久久久久久亚洲| 欧美巨乳美女视频| 欧美一区二粉嫩精品国产一线天| 日韩电影中文字幕| 中文字幕欧美精品日韩中文字幕| 亚洲欧美国产制服动漫| 欧美成人三级视频网站| www.欧美精品一二三区| 亚洲欧美另类在线观看| 亚洲大胆美女视频| 中文字幕久久久av一区| 欧美xxxx做受欧美| 国产狼人综合免费视频| 91精品国产91久久久久| 日韩免费在线免费观看| 久久久电影免费观看完整版| 成人动漫网站在线观看| 国产婷婷色综合av蜜臀av| 青草成人免费视频| 国产suv精品一区二区三区88区| 国产精品第10页| 日韩在线欧美在线| 欧美激情欧美激情在线五月| 这里只有精品视频| 欧美情侣性视频| 8090理伦午夜在线电影| 国产一区二区三区视频免费| 色青青草原桃花久久综合| 成人久久精品视频| 成人国产精品日本在线| 亚洲欧美成人网| 亚洲国产精品久久久久久| 亚洲美女av在线播放| 日韩视频在线免费| 国产91色在线播放| 国产日韩精品在线播放| 97免费视频在线播放| 色偷偷88888欧美精品久久久| 欧美第一黄色网| 欧美在线视频播放| 亚洲色图第一页| 亚洲欧洲国产一区| 在线丨暗呦小u女国产精品| 欧美色播在线播放| 成人午夜小视频| 68精品国产免费久久久久久婷婷| 国产精品日韩欧美综合| 欧美极品美女视频网站在线观看免费| 琪琪亚洲精品午夜在线| 国产精品久久久999| 日韩经典中文字幕在线观看| 久久99国产精品久久久久久久久| 日韩在线播放av| 5252色成人免费视频| 久久九九全国免费精品观看| 成人性生交大片免费看视频直播| 亚洲欧美在线免费| 国产一区欧美二区三区| 国产精品美女无圣光视频| 亚洲图片欧美日产| 自拍偷拍亚洲一区| 国产ts一区二区| 久久精品最新地址| 国产热re99久久6国产精品| 成人高h视频在线| 欧美日韩电影在线观看| 欧美视频中文在线看| 久国内精品在线| 久久综合88中文色鬼| 91精品国产综合久久香蕉| 亚洲黄一区二区| 亚洲精品成人久久久| 国产欧美日韩中文字幕在线| 国内精品久久久久久中文字幕| 亚洲精品视频免费在线观看| 日韩欧美亚洲范冰冰与中字| 国产日本欧美在线观看| 中文字幕日韩在线视频| 国产精品网红直播| 色先锋久久影院av| 久久久久久999| 在线成人免费网站| 欧美精品激情在线|