ant入門程式

來源:互聯網
上載者:User

一. ant簡介

Ant是apache的一個核心項目, 它的作用是項目自動化構建, 因為它內建了Javac、Java、建立目錄、複製檔案等功能, 

直接運行build.xml檔案就可以編譯我們的項目。


二. ant配置

1. 建立環境變數ANT_HOME: ant的解壓目錄

2. 在path中配置:%ANT_HOME%/bin;

3. 在命令列中輸入ant, 如果出現 Buildfile:build.xml does not exist! Build failed 說明配置成功


三. ant入門程式

build.xml

<?xml version="1.0" encoding="GBK"?><project default="targetname">    <target name="name"></target></project>
project是組建檔案的根項目, 表示一個工程

target是project的子項目, 表示一個任務, 一個project中可以定義多個target元素, 表示多個任務

default屬性工作表示預設執行的target, 如果ant命令沒有指定target, 則執行default的target

ant targetName則會執行此target, 而忽略default設定的target

四. ant編譯Java項目流程

1. 建立檔案夾

build -> 所有檔案資訊都儲存在這個檔案夾中

         -- src -> 所有源碼資訊儲存在這個檔案夾中

         -- classes -> 編譯好的所有檔案儲存在這個檔案夾中

         -- dist -> 編譯好的jar檔案儲存在這個檔案夾中 

2. 將src中檔案拷貝到build/src

3. 編譯源碼

4. 將源碼打包成jar

5. 直接運行程式

<?xml version="1.0" encoding="UTF-8"?><project default="execute"><!-- 使用屬性定義相應路徑的時候, 使用location(會根據作業系統轉換路徑), 如果不是路徑就使用value --><property name="build.dir" location="build" /><property name="build.classes" location="${build.dir}/classes" /><property name="build.src" location="${build.dir}/src" /><property name="build.lib.dir" location="${build.dir}/dist" /><!-- 如果屬性太多, 可以將屬性放在一個外部檔案中定義, 在本檔案中引用特別注意: 如果是路徑就不建議在外部檔案中定義, 因為此時就不會設定location的值 --><property file="build.properties" /><!-- 把環境變數中的參數存放在env這個變數中 --><property environment="env" />    <target name="test">    <echo>${ant.home}</echo>    <echo>${ant.version}</echo>    <echo>${env.CLASSPATH}}</echo>    </target><!-- fileset可以設定一組檔案集來進行操作, dir指明檔案集進行選擇的路徑            通過id可以指定這個檔案的名稱, 下面使用的時候可以直接引入    include和exclude可以設定包含和排除檔案的範圍 --><fileset id="src.path" dir="src"><include name="**/*.*" /><exclude name="**/Test*.java"/></fileset><target name="init"><delete dir="${build.dir}" /><mkdir dir="${build.dir}" /><mkdir dir="${build.classes}" /><mkdir dir="${build.src}" /><mkdir dir="${build.lib.dir}" /></target><target name="copySrc" depends="init"><copy todir="${build.src}"><fileset refid="src.path"></fileset></copy></target><target name="compile" depends="init"><javac destdir="${build.classes}" srcdir="src"></javac></target><target name="jar" depends="compile"><jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}"><manifest><attribute name="Main-Class" value="${execute.class}"/><attribute name="Build-By" value="zhangdongping"/></manifest></jar></target><target name="execute" depends="jar, copySrc"><echo>基於類路徑下的classname來完成執行</echo><java classname="${execute.class}" classpath="${build.classes}"><arg value="zhangsan" /></java><echo>基於jar檔案執行</echo><java jar="${build.lib.dir}/${jar.name}" fork="true"><arg value="liming" /></java></target></project>

build.properties

execute.class = com.zdp.test.HelloWorldjar.name = hello.jar
HelloWorld.java

package com.zdp.test;public class HelloWorld {public static void main(String[] args) {System.out.println("hello " + args[0]);}}



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.