Ant之build.xml基础入门

刚刚接触使用ant,在此做一些简单的记录 
  首先,对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/

转载于:https://my.oschina.net/snowflake/blog/111953

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值