ant的基本文法

來源:互聯網
上載者:User

1.ant的編譯檔案預設為build.xml,一般無需改變。
2.build.xml的根節點為<project>,一般格式如下:
   <project name="AntStudy" default="init" basedir=".">
   name為工程名稱;
   default為預設的target,就是任務;
   basedir就是基路徑。一般為"."
3.property可以定義變數,一般格式如下:
   <property name="test" value="shit" />
   引用的時候這麼引用${test}
   如果變數是路徑的話,則可以這麼定義:
   <property name="src" value="src" />
   這麼定義就可以不用擔心"/"和"/"的問題了。
4.定義target:
   <target name="compile" depends="init"><!--other command--></target>
   name的值為target的名稱,可以在編譯的時候指定是完成哪個target,
   否則採用project那裡定義的default。
   depends則定義了依賴關係,值為其他target的name。多個依賴關係用","隔開,
   順序執行完定義的依賴關係,才會執行這個target。
   target在build.xml中定義的順序無所謂,但是depends中的順序必須正確。
5.編譯原始碼:
   <javac srcdir="src" destdir="classes">
     <classpath>
             <fileset dir="lib">
                 <include name="**/*.jar"/>
             </fileset>
         </classpath>
   </javac>
   這個標籤自動尋找src中以.java為副檔名的檔案,並且調用javac命令。
   這個任務有個特點,它僅僅編譯那些需要編譯的源檔案。如果沒有更新,就不需要編譯,
   速度就加快。
   編譯檔案和ant使用的同一個jvm,大大減少資源浪費。
   還可以指定classpath。classpath中指定檔案夾,然後指定包含的檔案的規則。
6.建立jar檔案:
   <jar destfile="antstudy.jar" basedir="classes">
<manifest>
   <attribute name="Main-Class" value="bean.ant.TestAnt" />
</manifest>
   </jar>
   manifest指定manifest中檔案的屬性,比如可以指定Main-Class
7.建立目錄:
   <mkdir dir="classes" />
   建立dir的檔案夾。
8.刪除目錄:
   <delete dir="classes" />
   刪除classes檔案夾
9.拷貝檔案:
    <copy todir="${backup.dir}">
        <fileset dir="${classes.dir}"/>
    </copy>
    把fileset檔案夾下面的所有檔案拷貝到 backup.dir
10.執行一個類:
    <java dir="${build}" classname="bean.ant.TestAnt" fork="true" />
    dir為工作資料夾,classname為類名。fork要設定為true。因為你編譯放class的檔案夾
    正在使用,所以要新開啟一個虛擬機器。
11.產生javadoc:
<javadoc sourcepath="${src}" destdir="${docs}/javadoc" encoding="utf-8" charset="utf-8"
windowtitle="Spring Framework" source="1.5" access="package" author="true" version="true"
use="true" defaultexcludes="true">
<doctitle>
   <![CDATA[<h1>Ant Test</h1>]]></doctitle>
<bottom>
   <![CDATA[<i>Copyright (c) 2002-2007</i>]]></bottom>
<packageset dir="${src}">
   <include name="bean/ant/**" />
</packageset>
</javadoc>
encoding="utf-8" charset="utf-8" 都需要,否則javadoc是亂碼。
packageset一定要設定,否則找不到源碼,格式可以是**.意思是所有源碼。
12.path的使用,可以定義path對象,在其他地方可以直接複用。
<path id="1">
   <pathelement location="."/>
   <pathelement location="./lib/junit.jar"/>
</path>

<path id="2">
   <fileset dir="lib">
   <include name="**/*.jar"/>
   </fileset>
</path>

<javac srcdir="./src" destdir="./classes">
   <classpath refid="1"/>
</javac>

<javac srcdir="./src" destdir="./classes">
      <classpath refid="1">
          <pathelement location="."/>
          <pathelement location="./lib/junit.jar"/>
      </classpath>
</javac>
13.單元測試:
<junit printsummary="yes">
   <classpath refid="testpath" />
   <batchtest>
    <fileset dir="${test}">
     <include name="**/*Test.java" />
    </fileset>
   </batchtest>
</junit>
    batchtest為批量test,需要設定合格類名稱。
    在進行單元測試之前必須先進行編譯。
    配置的classpath指向一個testpath的path,就是上面哪一條裡面講的。
    一開始會報一個找不到junit的錯誤,可以用下面方法解決:
    Windows>>Preference>>Ant>>Runtime>>Classpath
    添加一個junit.jar 在 [eclipse home]/plugins/org.junit_3.8.1可以找到。

轉載自

http://252401762.javaeye.com/blog/312422

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.