ant入門

一個簡單的ant腳本:

<?xml version="1.0" encoding="UTF-8"?>
<project name="helloworld" default="run" basedir=".">
<property name="lib" value="lib"/>
<property name="src" value="src"/>
<property name="dest" value="bulid/classes"/>
<property name="hello_jar" value="hello1.jar"/>

<target name="init" depends="clean">
<mkdir dir="${dest}"/>
</target>


<target name="clean">
<delete dir="${dest}"></delete>
<delete dir="${lib}"></delete>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"></javac>
</target>
<target name="build" depends="compile">
<mkdir dir="${lib}"/>
<jar jarfile="${lib}/${hello_jar}" basedir="${dest}"></jar>
</target>
<target name="run" depends="build">
<java classname="test.HelloWorld" classpath="${lib}/${hello_jar}"></java>
</target>
</project>

逐個解析上訴代碼中出現的知識點。

1.<project name="helloworld" default="run" basedir=".">

每個ant必須要有一個project,名字自定義,默認執行run操作,根目錄爲當前目錄(即build.xml所在同級目錄)。

2.<property name="lib" value="lib"/>

定義屬性,名稱爲lib,值爲lib

也可以這樣寫<property file="property.properties">

這樣表示的意思爲講property.properties中所定義的屬性全部引入使用。

3.<target name="init" depends="clean"><mkdir dir="${dest}"/></target>

target表示要執行的操作,名字爲“init”,依賴於clean操作。

依賴的意思即是如果你想要執行本操作,需要確定依賴的操作已經完成。比如在這行代碼中,只有clean這個target完成了纔可以執行init這個操作。

如果多個target同時依賴於同一個target,只要這個target執行過一遍即可,不需要反覆執行

4.<delete dir="${dest}"></delete>

刪除dir,值爲dest變量所對應的值

5.<javac srcdir="${src}" destdir="${dest}"></javac>

<javac>表示編譯操作,編譯目錄爲src文件夾,生成的編譯文件在dest文件夾下(項目名/編譯好的java文件)

6.<mkdir dir="${lib}"/><jar jarfile="${lib}/${hello_jar}" basedir="${dest}"></jar>

<mkdir>創建目錄lib <jar>將basedir中的文件打包成爲jar文件,名字爲hello.jar,在lib目錄下。解壓jar文件,可以看到有兩個文件夾metainf和test

test文件夾中有HelloWorld.java文件。

7.<java classname="test.HelloWorld" classpath="${lib}/${hello_jar}"></java>

<java>執行java文件,類名爲test.HelloWorld.java classpath爲lib/hello.jar  實際進行的操作是這樣的,首先,根據classpath找到相應的環境,也就是hellojar包,然後根據classname進行查找,看是否有test.HelloWorld文件,有則執行相應的文件。。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章