build.xml

下载ant

解压ant 后设置ANT_HOME, PATH中添加ANT_HOME目录下的bin目录(如:ANT_HOME:,PATH:D:apache-ant-1.9.2%ANT_HOME%in)
测试方法:开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到
Buildfile: build.xml does not exist!
Build failed

说明已经完成ant的设置。

生成build.xml

Eclipse 自动生成 Ant的Build.xml 配置文件,生成的方法很隐蔽

选择你要生成Build.xml文件的项目,右键. Export-> General -> Ant Buildfiles .

点Next,选择项目,再点Finish.

生成完毕.

编写build.xml

[html] view plain copy
 
    1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>  
    2.       
    3. <!-- 每个构建文件对应一个项目。<project>标签时构建文件的根标签。它可以有多个内在属性,就如代码中所示,其各个属性的含义分别如下。  
    4. (1) default表示默认的运行目标,这个属性是必须的。   
    5. (2) basedir表示项目的基准目录。   
    6. (3) name表示项目名。   
    7. (4) description表示项目的描述。   
    8.  -->  
    9. <project default="build" name="Sort">  
    10.     <!-- 设置属性或文件路径,读取属性使用${property},value路径默认项目根目录 -->  
    11.     <property file="ant/builds.properties" />  
    12.   
    13.     <property name="src.dir" value="src/statics" />  
    14.       
    15.     <property name="classes.dir" value="ant/classes" />  
    16.   
    17.     <property name="lib.dir" value="lib" />  
    18.   
    19.     <property name="dist.dir" value="ant/dist" />  
    20.       
    21.     <!-- 定义classpath -->  
    22.     <path id="master-classpath">  
    23.         <fileset file="${lib.dir}/*.jar" />  
    24.         <pathelement path="${classes.dir}" />  
    25.     </path>  
    26.       
    27.     <!--一个项目标签Project包含多个target标签,一个target标签可以依赖其他的target标签  
    28.         在生成可执行文件之前必须先编译该文件,因策可执行文件的target依赖于编译程序的 target。  
    29.           
    30.         (1).name表示标明,这个属性是必须的。   
    31.         (2).depends表示依赖的目标。   
    32.         (3)if表示仅当属性设置时才执行。   
    33.         (4)unless表示当属性没有设置时才执行。   
    34.         (5)description表示项目的描述。    
    35.         Ant的depends属性指定了target的执行顺序。Ant会依照depends属性中target出现顺序依次执行每个target。在执行之前,首先需要执行它所依赖的target。  
    36.      -->  
    37.     <!-- 初始化任务 -->  
    38.     <target name="init">  
    39.         <!-- 输出标签 ,${init}是builds.properties中的属性 -->  
    40.         <echo message="  Available Targets:"/>    
    41.         <echo message="-------------------------------------------------------"/>    
    42.         <echo message="  init ${init}   ..."/>    
    43.         <echo message="-------------------------------------------------------"/>   
    44.     </target>  
    45.   
    46.     <!-- 编译 -->  
    47.     <target name="compile" depends="init" description="compile the source files">  
    48.         <!-- 删除文件夹 -->  
    49.         <delete dir="${classes.dir}" />  
    50.         <!-- 创建文件夹 -->  
    51.         <mkdir dir="${classes.dir}" />  
    52.         <!-- 编译java生成class文件 ,其属性如下  
    53.             (1).srcdir表示源程序的目录。   
    54.             (2).destdir表示class文件的输出目录。   
    55.             (3).include表示被编译的文件的模式。   
    56.             (4).excludes表示被排除的文件的模式。   
    57.             (5).classpath表示所使用的类路径。   
    58.             (6).debug表示包含的调试信息。   
    59.             (7).optimize表示是否使用优化。   
    60.             (8).verbose 表示提供详细的输出信息。   
    61.             (9).fileonerror表示当碰到错误就自动停止。  
    62.          -->  
    63.         <javac srcdir="${src.dir}" destdir="${classes.dir}">  
    64.             <!-- 编译需要的jar包 引用前面设置的class-path -->  
    65.             <classpath refid="master-classpath" />  
    66.         </javac>  
    67.     </target>  
    68.   
    69.   
    70.     <!-- 打包成jar -->  
    71.     <target name="pack" description="make .jar file">  
    72.   
    73.         <delete dir="${dist.dir}" />  
    74.   
    75.         <mkdir dir="${dist.dir}" />  
    76.         <!-- 该标签用来生成一个JAR文件,其属性如下  
    77.             (1) destfile表示JAR文件名。   
    78.             (2) basedir表示被归档的文件名。要操作的文件路径   
    79.             (3) includes表示别归档的文件模式。   
    80.             (4) exchudes表示被排除的文件模式。   
    81.          -->  
    82.         <jar destfile="${dist.dir}/hello.jar" basedir="${classes.dir}">  
    83.             <!-- 不包含的类或内容 -->  
    84.             <exclude name="**/*Test.*" />  
    85.         </jar>  
    86.   
    87.     </target>  
    88.   
    89.     <!-- 生成zip压缩包 -->  
    90.     <target name="zip">  
    91.         <delete dir="${release-dir}" />  
    92.         <mkdir dir="${release-dir}" />  
    93.         <!-- 该标签用来生成一个zip文件,其属性如下  
    94.             (1) destfile表示zip文件名。   
    95.             (2) basedir表示被归档的文件名。 要操作的文件路径  
    96.             (3) includes表示别归档的文件模式。   
    97.             (4) exchudes表示被排除的文件模式。   
    98.          -->  
    99.         <zip destfile="${release-dir}/antTest.zip" update="true"   
    100.                    basedir="ant" />  
    101.     </target>   
    102. </project>  
原文地址:https://www.cnblogs.com/justuntil/p/8578600.html