ant build.xml 编写
生成 build.xml
Eclipse
自动生成 Ant 的Build.xml
配置文件,生成的方法很隐蔽
选择你要生成Build.xml
文件的项目,右键. Export-> General -> Ant Buildfiles .
点 Next,选择项目,再点Finish
.
编写 build.xml
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>
欢迎关注我的博客www.jobcher.com