一,下载安装ant
二 配置环境变量,测试环境变量配置是否成功
三 新建build.xml文件,若项目文件目录为下面所述,基本上不用改什么东西。
- <project default="jar" name="Acid">
- <!-- 工程目录结构
- project
- |-bin
- |-src
- |-lib
- |-out
- |-build.xml
- -->
- <property name="lib.dir" value="lib"/>
- <property name="src.dir" value="src"/>
- <property name="classes.dir" value="bin"/>
- <property name="output.dir" value="out"/>
- <property name="jarname" value="Test.jar"/>
- <property name="mainclass" value="com.biao.Test"/>
- <!-- 第三方jar包的路径 -->
- <path id="lib-classpath">
- <fileset dir="${lib.dir}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <!-- 1. 初始化工作,如创建目录等 -->
- <target name="init">
- <mkdir dir="${classes.dir}"/>
- <mkdir dir="${output.dir}"/>
- </target>
- <!-- 2. 编译 -->
- <target name="compile" depends="init">
- <javac srcdir="${src.dir}" destdir="${classes.dir}">
- <compilerarg line="-encoding UTF-8"/>
- <classpath refid="lib-classpath"/>
- </javac>
- </target>
- <!-- 3. 打包jar文件 -->
- <target name="jar" depends="compile">
- <copy todir="${output.dir}/lib">
- <fileset dir="${lib.dir}"/>
- </copy>
- <!--Create a property containing all .jar files,
- prefix lib/, and seperated with a space-->
- <pathconvert property="mf.classpath" pathsep=" ">
- <mapper>
- <chainedmapper>
- <!-- jar包文件只留文件名,去掉目录信息 -->
- <flattenmapper/>
- <!-- add lib/ prefix -->
- <globmapper from="*" to="lib/*"/>
- </chainedmapper>
- </mapper>
- <path refid="lib-classpath"/>
- </pathconvert>
- <!-- jar文件的输出路径 -->
- <jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">
- <manifest>
- <attribute name="Main-class" value="${mainclass}"/>
- <attribute name="Class-Path" value="${mf.classpath}"/>
- </manifest>
- </jar>
- </target>
- </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包的步骤。