最近无事,回头看看Ant,以前项目中没有系统性的学习过,仅仅照照葫芦画瓢写点脚本,废话不说了..
Ant 安装
下载地址 http://ant.apache.org/bindownload.cgi
1). windows //已安装JDK
设置系统变量ANT_HOME
在PATH中加入%ANT_HOME%\bin
2). linux
在/etc/profile中加入
# ------------------
# THE ANT PATH |
# ------------------
# JDK prefix
JAVA_HOME=/usr/java/jdk1.6.0_19
# ANT prefix
ANT_HOME=/usr/ant/apache-ant-1.8.0
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
export JAVA_HOME ANT_HOME PATH
测试: ant -version
回显: Apache Ant version 1.8.0 compiled on February 1 2010
Ant简单例子
1). 建立如图目录结构
Main.java
package test.ant; public class Main { public static void main(String[] args) { System.out.println("Hello World."); } }
build.properties
# 工程目录 build.dir=.. # class文件目录 build.dest=${build.dir}/classes # srcdir build.src.dir=${build.dir}/src # jar name build.jarfile=hello.jar # MANIFEST.MF 路径 build.MF=${build.dir}/MANIFEST.MF
build.xml
<?xml version="1.0" encoding="UTF-8"?> <project name="HelloWorld" default="run" basedir="."> <property file="./build.properties" /> <target name="run" depends="build"> <!-- 要运行jar必须开启fork模式 --> <java jar="${build.jarfile}" fork="true" /> <echo message="===== end run =====" /> </target> <target name="build" depends="compile"> <jar manifest="${build.MF}" jarfile="${build.jarfile}" basedir="${build.dest}"/> </target> <target name="compile" depends="init_mkdir"> <!-- IncludeAntRuntime 默认为false --> <javac includeantruntime="false" srcdir="${build.src.dir}" destdir="${build.dest}"/> </target> <target name="init_mkdir"> <echo message="===== begin run =====" /> <mkdir dir="${build.dest}"/> </target> <!-- rerun --> <target name="rerun" depends="clean"> <ant target="run" /> </target> <target name="clean"> <echo message="===== begin clean =====" /> <delete file="${build.jarfile}" /> <delete dir="${build.dest}" /> <echo message="===== end clean =====" /> </target> </project>
MANIFEST.MF
Manifest-Version: 1.0
Main-Class: test.ant.Main
结果:
另附: Ant中文教程1.0