Ant之build.xml基础入门
2013-03-05 23:03
316 查看
刚刚接触使用ant,在此做一些简单的记录
首先,对Ant作下简单介绍:
Ant是Apache目录下的一个子项目,是一种基于Java的build工具。
本人理解就是一种打包的工具,可以利用ant这种构建工具对项目进行编译、测试、运行等操作,从而避免了重复且复杂的工作。
由于Ant构建文件都是以XML文件来描述的,因此Ant具有操作简单的优点,下面根据一个简单的例子来介绍一下Ant的默认xml文件build.xml:
1.
<project>根标签:每个构建文件都有一个根标签,一个根标签对应一个项目
(1)name属性:项目名称。name=“antweb”表明该项目的名称是antweb
(2)default属性:默认的运行项目(该项必须指定)。default=“war”表明该项目默认执行的任务是war,也就是打成war包
(3)basedir属性:项目的基准目录。basedir=“.”表明该项目的基准目录是根目录
<project>根标签还包含description属性,表明该项目的项目描述信息。
2.<property>标签:构建文件的属性,用于设置web项目的一些文件或文件夹存放位置等
(1)name属性:变量名。name=“classes”表明该项目的属性变量名为classes
(2)value属性:变量的值。value=“build/classes”表明变量名对应的值是build/classes
3. <target>标签:任务标签,一个项目构建文件中可以有多个target标签,一个标签也可以依赖其他的target标签。
(2)name属性:任务名称。name=“clean”表明该任务是清除文件夹下的内容;name=“compile”表明该任务是编译
(3)depends属性:依赖目标。depends=“clean”表明该任务是依赖于名为clean的任务完成后执行的
<target>标签还包括if(该属性设置成立时才执行)、unless(当该属性不成立时执行,与if相反)、description(任务描述)属性。
4.<delete>标签:可以删除某个或某组文件、某个目录以及所有备份的目录或空目录
(1)dir属性:指定要删除的目录名。dir=“build”表明要删除的文件目录是build文件夹下的所有文件
<delete>标签还包括file(要删除的文件名)、includeEmptyDirs(是否删除空目录)、fileonerror(遇到错误是否停止)等属性。
5.<echo>标签:根据日志或监控器的级别输出信息,它包括message、level、file和append四个属性。上面例子中会原样输出<echo>标签中的内容。
6.<mkdir>标签:用于创建一个目录
(1)dir属性:指定要创建的目录名。dir=“${classes}”表明要创建的目录名就是变量名为classes的地址。
7.<javac>标签:用于编译某个文件或某组文件
(1)srcdir属性:源程序的目录。srcdir=“src”表明要编译的源程序目录是src下的所有文件
(2)destdir属性:.class文件的输出目录。destdir=“${classes}”表明class文件的输出目录是build/classes目录下
<javac>标签还包含include(被编译的文件模式)、excludes(被排除的文件模式)、classpath(所使用的文件类路径)、debug(调试信息)、optimize(是否优化)、berbose(提供详细的输出信息)等属性。
8.<war>标签:打成war包
(1)destfile属性:指定文件路径和文件名。destfile=“${build}/antweb.war”表明war包的路径为build目录下且war包名称为antweb.war
(2)webxml属性:指定web.xml文件的路径。webxml=“WebRoot/WEB-INF/web.xml”表明web.xml文件的路径
其中的<fileset>标签表明要打成war包的文件的集合路径,<lib>标签表明要打成war包中的工具类路径,<classes>标签表明要打成war包的class文件路径。
也可以将java项目打成jar包,在根标签下加一个target标签,具体的配置代码如下
Main-class是jar文件的入口类,该类必须是一个入口类,通过该属性的指定来运行jar文件。
Ant官方地址:http://ant.apache.org/
首先,对Ant作下简单介绍:
Ant是Apache目录下的一个子项目,是一种基于Java的build工具。
本人理解就是一种打包的工具,可以利用ant这种构建工具对项目进行编译、测试、运行等操作,从而避免了重复且复杂的工作。
由于Ant构建文件都是以XML文件来描述的,因此Ant具有操作简单的优点,下面根据一个简单的例子来介绍一下Ant的默认xml文件build.xml:
<?xml version="1.0"?> <project name="antweb" default="war" basedir="."> <property name="classes" value="build/classes"></property> <property name="build" value="build"></property> <property name="lib" value="WebRoot/WEB-INF/lib"></property> <target name="clean"> <delete dir="build"></delete> </target> <target name="compile" depends="clean"> <echo> ####################################### # compile program... # ####################################### </echo> <mkdir dir="${classes}"/> <javac srcdir="src" destdir="${classes}"></javac> </target> <target name="war" depends="compile"> <war destfile="${build}/antweb.war" webxml="WebRoot/WEB-INF/web.xml"> <fileset dir="WebRoot" includes="**/*.jsp"></fileset> <lib dir="${lib}"></lib> <classes dir="${classes}"></classes> </war> </target> </project>
1.
<project>根标签:每个构建文件都有一个根标签,一个根标签对应一个项目
(1)name属性:项目名称。name=“antweb”表明该项目的名称是antweb
(2)default属性:默认的运行项目(该项必须指定)。default=“war”表明该项目默认执行的任务是war,也就是打成war包
(3)basedir属性:项目的基准目录。basedir=“.”表明该项目的基准目录是根目录
<project>根标签还包含description属性,表明该项目的项目描述信息。
2.<property>标签:构建文件的属性,用于设置web项目的一些文件或文件夹存放位置等
(1)name属性:变量名。name=“classes”表明该项目的属性变量名为classes
(2)value属性:变量的值。value=“build/classes”表明变量名对应的值是build/classes
3. <target>标签:任务标签,一个项目构建文件中可以有多个target标签,一个标签也可以依赖其他的target标签。
(2)name属性:任务名称。name=“clean”表明该任务是清除文件夹下的内容;name=“compile”表明该任务是编译
(3)depends属性:依赖目标。depends=“clean”表明该任务是依赖于名为clean的任务完成后执行的
<target>标签还包括if(该属性设置成立时才执行)、unless(当该属性不成立时执行,与if相反)、description(任务描述)属性。
4.<delete>标签:可以删除某个或某组文件、某个目录以及所有备份的目录或空目录
(1)dir属性:指定要删除的目录名。dir=“build”表明要删除的文件目录是build文件夹下的所有文件
<delete>标签还包括file(要删除的文件名)、includeEmptyDirs(是否删除空目录)、fileonerror(遇到错误是否停止)等属性。
5.<echo>标签:根据日志或监控器的级别输出信息,它包括message、level、file和append四个属性。上面例子中会原样输出<echo>标签中的内容。
6.<mkdir>标签:用于创建一个目录
(1)dir属性:指定要创建的目录名。dir=“${classes}”表明要创建的目录名就是变量名为classes的地址。
7.<javac>标签:用于编译某个文件或某组文件
(1)srcdir属性:源程序的目录。srcdir=“src”表明要编译的源程序目录是src下的所有文件
(2)destdir属性:.class文件的输出目录。destdir=“${classes}”表明class文件的输出目录是build/classes目录下
<javac>标签还包含include(被编译的文件模式)、excludes(被排除的文件模式)、classpath(所使用的文件类路径)、debug(调试信息)、optimize(是否优化)、berbose(提供详细的输出信息)等属性。
8.<war>标签:打成war包
(1)destfile属性:指定文件路径和文件名。destfile=“${build}/antweb.war”表明war包的路径为build目录下且war包名称为antweb.war
(2)webxml属性:指定web.xml文件的路径。webxml=“WebRoot/WEB-INF/web.xml”表明web.xml文件的路径
其中的<fileset>标签表明要打成war包的文件的集合路径,<lib>标签表明要打成war包中的工具类路径,<classes>标签表明要打成war包的class文件路径。
也可以将java项目打成jar包,在根标签下加一个target标签,具体的配置代码如下
<target name="jar" depends="run"> <jar destfile="helloword.jar" basedir="build/classes"> <manifest> <attribute name="Main-class" value="HelloWorld"/> </manifest> </jar> </target>
Main-class是jar文件的入口类,该类必须是一个入口类,通过该属性的指定来运行jar文件。
Ant官方地址:http://ant.apache.org/
相关文章推荐
- 关于ant中的build.xml新手入门
- Ant 入门 Build.xml
- Java eclipse下 Ant build.xml实例详解 附完整项目源码
- Ant安装执行build.xml下载spring3所需依赖包
- 【转】Android项目使用Ant打包,生成build.xml
- Sprint ant build.xml
- Ant入门基础教程
- XML基础入门(一)
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- Ant打包项目-build.xml
- Ant编译生成war文件的build.xml文件示例
- ant中的build.xml配置详解
- Ant build.xml中的各种变量
- EJB3.0 Ant Build.xml实例讲解
- ant中的build.xml详细配置
- ANT build.xml文件详解
- Ant build.xml全解
- Java构建工具Ant之第一个build.xml
- Ant build.xml的创建(一)
- Spring基础:快速入门spring boot(6):用docker进行Build/Ship/Run