一,下载安装ant 

  二  配置环境变量,测试环境变量配置是否成功

  三 新建build.xml文件,若项目文件目录为下面所述,基本上不用改什么东西。

  1. <project default="jar" name="Acid">  
  2.     <!-- 工程目录结构  
  3.     project  
  4.         |-bin  
  5.         |-src  
  6.         |-lib  
  7.         |-out  
  8.         |-build.xml  
  9.     -->  
  10.     <property name="lib.dir" value="lib"/>  
  11.     <property name="src.dir" value="src"/>  
  12.     <property name="classes.dir" value="bin"/>  
  13.     <property name="output.dir" value="out"/>  
  14.     <property name="jarname" value="Test.jar"/>  
  15.     <property name="mainclass" value="com.biao.Test"/>  
  16.     <!-- 第三方jar包的路径 -->  
  17.     <path id="lib-classpath">  
  18.         <fileset dir="${lib.dir}">  
  19.             <include name="**/*.jar"/>  
  20.         </fileset>  
  21.     </path>  
  22.     <!-- 1. 初始化工作,如创建目录等 -->  
  23.     <target name="init">  
  24.         <mkdir dir="${classes.dir}"/>  
  25.         <mkdir dir="${output.dir}"/>  
  26.     </target>  
  27.     <!-- 2. 编译 -->  
  28.     <target name="compile" depends="init">  
  29.         <javac srcdir="${src.dir}" destdir="${classes.dir}">  
  30.             <compilerarg line="-encoding UTF-8"/>  
  31.             <classpath refid="lib-classpath"/>  
  32.         </javac>  
  33.     </target>  
  34.     <!-- 3. 打包jar文件 -->  
  35.     <target name="jar" depends="compile">  
  36.         <copy todir="${output.dir}/lib">  
  37.             <fileset dir="${lib.dir}"/>  
  38.         </copy>  
  39.         <!--Create a property containing all .jar files,  
  40.         prefix lib/, and seperated with a space-->  
  41.         <pathconvert property="mf.classpath" pathsep=" ">  
  42.             <mapper>  
  43.                 <chainedmapper>  
  44.                     <!-- jar包文件只留文件名,去掉目录信息 -->  
  45.                     <flattenmapper/>  
  46.                     <!-- add lib/ prefix -->  
  47.                     <globmapper from="*" to="lib/*"/>  
  48.                 </chainedmapper>  
  49.             </mapper>  
  50.             <path refid="lib-classpath"/>  
  51.          </pathconvert>  
  52.         <!-- jar文件的输出路径 -->  
  53.         <jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">  
  54.             <manifest>  
  55.                 <attribute name="Main-class" value="${mainclass}"/>  
  56.                 <attribute name="Class-Path" value="${mf.classpath}"/>  
  57.             </manifest>  
  58.         </jar>  
  59.     </target>  
  60. </project> 

  四  进入到build.xml文件目录,执行命令 Ant –buildfile  build.xml,即可生成相应的jar包。

 

 

 

 

  build.xml文件详解:

  build.xml为一个构建文件,每一个项目都会有一个构建文件。

  1.<project>标签

    <project>标签是构建文件的根标签,它可以有多个内在属性:

    default:表示默认的运行目标。

       name:表示项目名称。

     basedir:表示项目的基准目录。

     description:表示项目的描述。

  2. <target> 标签

    一个项目标签下可以有一个或多个target标签。一个target标签可以依赖其他的target标签。例如,有一个target用于编译程序,另一个target用于声称可执行文件。在生成

    可执行文件之前必须先编译该文件,因策可执行文件的target依赖于编译程序的target。Target的所有属性如下。 

    (1) name表示标明,这个属性是必须的。 
    (2) depends表示依赖的目标。 
    (3) if表示仅当属性设置时才执行。 
    (4) unless表示当属性没有设置时才执行。 
    (5) description表示项目的描述。 
    Ant的depends属性指定了target的执行顺序。Ant会依照depends属性中target出现顺序依次执行每个target。在执行之前,首先需要执行它所依赖的target。程序中的名为run的target的depends属性compile,而名为compile的target的depends属性是prepare,所以这几个target执行的顺序是prepare->compile->run。一个target只能被执行一次,即使有多个target依赖于它。如果没有if或unless属性,target总会被执行。

 

  3.<mkdir>标签 
    该标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名,其代码如下:<mkdir dir=”${class.root}”/>通过以上代码就创建了一个目录,这个目录已经被前面

    的property标签所指定。

  4. <jar>标签

    该标签用来生成一个jar文件。

    destfile:打包的jar文件名。

    basedir:表示被归档的文件名。

    includes表示别归档的文件模式。 

    exchudes表示被排除的文件模式。 

  5. <javac>标签

    编译一个或者一组java文件

    srcdir:表示项目的源文件目录。

    destdir:表示项目的编译后的class文件的输出目录。

 

http://blog.csdn.net/wolvesqun/article/details/52437776 打war包的步骤。