1、windows下配置ant运行环境,定义JAVA_HOME、ANT_HOME、PATH中加入%JAVA_HOME%\bin和%ANT_HOME%\bin;ant使用1.6.5版本或以上,jdk使用1.5或以上;

2、java工程目录推荐按照如下设置,如果是普通的应用工程,则
App
-src
-config
-test
-lib
-so/*.*
-dll/*.*
-*.bat
-*.sh


如果是web应用工程,则
webApp
-src
-web
-config
-test
-lib


3、以如下build.xml为模板,重新编写ant脚本,程序员只要定义好外部类路径和内部类路径即能正常编译
<?xml version="1.0" encoding="UTF-8"?>
<project default="release" name="test">
  <!--这里引入的编译器是eclipse用的,需要将eclipse带的编译器ecj.jar拷贝到%ANT_HOME%\lib下,比jdk自带的javac好很多,删掉改行则使用jdk自带的-->
  <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
  <!--源码默认放在目录src下,重新定义则覆盖源码目录定义-->
  <property name="src" value="./src" />
  <!--如果项目是web应用,则相关页面和资源默认放在目录web下,重新定义则覆盖web应用目录定义-->
  <property name="web" value="./web" />
  <!--配置文件默认放在目录config下,重新定义则覆盖配置文件定义-->
  <property name="config" value="./config" />
  <!--配置作者cuiyingfeng,重新定义则覆盖-->
  <property name="author" value="cuiyingfeng" />
  <!--配置作者cuiyingfeng,重新定义则覆盖-->
  <property name="version" value="0.9.0.0" />
  <!--以上属性在满足工程目录定义得情况下可以不用重复定义,以下属性则必须存在-->
  <property name="type" value=".jar" />
  <!--type为jar则生成test.jar,type为war则生成test.war-->
  <property name="encoding" value="UTF-8" />
  <property name="sourcejdk" value="1.5" />
  <property name="targetjdk" value="1.5" />
  <!--引用外部类路径,仅仅是编译时使用到,程序运行或者部署不需要使用的jar,比如servlet.jar等-->
  <path id="ref-classpath">
  </path>
  <!--依赖外部类路径,编译时使用到,程序运行或者部署也用到-->
  <path id="dep-classpath">
    <fileset dir="../../Lib">
      <include name="activation.jar" />
      <include name="axis.jar" />
      <include name="commons-logging*.jar" />
      <include name="commons-discovery*.jar" />
      <include name="commons-dbcp*.jar" />
      <include name="commons-pool*.jar" />
      <include name="jaxrpc*.jar" />
      <include name="log4j*.jar" />
      <include name="mail*.jar" />
      <include name="asm*.jar" />
      <include name="cglib*.jar" />
      <include name="aspect*.jar" />
      <include name="spring*.jar" />
      <include name="saaj*.jar" />
      <include name="wsdl4j*.jar" />
    </fileset>
    <fileset dir="../Common/release/lib">
      <include name="*.jar" />
    </fileset>
  </path>
  <import file="./build_common.xml" />
</project>

4、dos下cd进工程目录,然后ant,工程将自动编译,编译成功后,将在工程目录下产生一个build和release目录,其中build目录中存放编译中间结果,release目录中存放的是可以直接安装部署的java应用和web应用。执行ant clean将会删除当前工程目录下的build和release目录。

总结:该模板封装了使用ant进行编译的细节,只暴露了一些工程属性的设置给使用者,实际应用中,程序员不需要考虑ant语法,只需要关注部分工程属性就能很方便地对java工程进行发布。该模板非常实用,基本不需要修改就可以直接在大多数J2EE项目中使用。

ps:build_common.xml可以在我的资源中下载,定价较高,慎下!