1. 原理
(1). 运行时选择的顺序决定了执行的顺序
(2). ant适用于批量处理的,一般由框架师来做
(3).在dos窗口下运行ant命令的话,所创建的ant文件名称必须为build.xml,但是在web项目里边可以随便命名
2.实例一,使用ant文件来部署eclipse创建的web项目到tomcat中去
<?xml version="1.0" encoding="UTF-8"?>
<!--该文档的作用是利用ant文件来部署eclipse创建的web项目到tomcat中去,注意:在MYEclipse中部署时非常方便,
一点部署按钮就OK了,直接就发布到tomcat中的D:\apache-tomcat-6.0.35\webapps
但是在eclipse中发布的文件在该目录下E:\eclipse3.7\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\wtpwebapps\book
即eclipse的工作空间中。为了也能发布到tomcat,所以就使用ant来copy进行部署。ant一般是框架式使用的-->
<!--定义工程copy,初始化根目录,默认执行的功能-->
<project name="book" basedir="." default="usage">
<!--定义所需要的属性值-->
<property name="tomcat" value="D:/apache-tomcat-6.0.35/webapps"></property><!--tomcat根目录-->
<!--默认执行的功能模块-->
<target name="usage" description="默认功能模块">
<echo>说明及用法信息!</echo>
</target>
<!--copy文件的的功能模块-->
<target name="create" description="部署eclipse创建的web项目到tomcat中" depends="mdir">
<!--开始部署-->
<!--把WebContent下的所有文件都考到book中-->
<copy todir="{tomcat}/{ant.project.name}">
<!--以下指定copy那些文件-->
<fileset dir="{basedir}/WebContent">
<!--**/*.*是指copy无论文件目录有多深都会copy-->
<include name="**/*.*"/>
</fileset>
</copy>
<!--部署成功-->
</target>
<target name="mdir">
<!--先创建项目该目录book-->
<mkdir dir="{tomcat}/{ant.project.name}"/>
</target>
</project>
3.实例二,利用ant来对数据库进行批量处理 <?xml version="1.0" encoding="UTF-8"?>
<!--定义工程book,初始化根目录,默认执行的功能-->
<project name="book" basedir="." default="usage">
<!--初始化连接数据库所需要的各种参数,url,driver,user,pwd-->
<property name="url" value="jdbc:mysql://127.0.0.1:3309/mysql?useUnicode=true&characterEncoding=UTF-8"></property>
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="user" value="root"></property>
<property name="pwd" value="root"></property>
<!--默认执行的功能模块-->
<target name="usage">
<echo>说明及用法信息!</echo>
</target>
<!--创建数据库和关系表的功能模块-->
<target name="create" description="创建数据库和关系表">
<!--连接数据库服务器-->
<sql userid="{user}" password="{pwd}" url="{url}" driver="{driver}" encoding="UTF-8" delimiter=";">
<!--执行设定目录下的sql文件-->
<fileset dir="{basedir}/bookstore/create">
<include name="*.sql" />
</fileset>
<!--加载连接数据库的驱动-->
<classpath>
<!--由于ant是另一个工程,所以它不会默认从lib文件夹下读取驱动,所以要设置目录到lib下-->
<fileset dir="{basedir}/WebContent/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</classpath>
</sql>
</target>
<!--初始化数据库和关系表的功能模块-->
<target name="init" description="初始化数据库和关系表">
<sql userid="{user}" password="{pwd}" url="{url}" driver="{driver}" encoding="UTF-8" delimiter=";">
<fileset dir="{basedir}/bookstore/init">
<include name="*.sql" />
</fileset>
<classpath>
<fileset dir="{basedir}/WebContent/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</classpath>
</sql>
</target>
<!--删除数据库的功能模块-->
<target name="drop" description="删除数据库">
<sql userid="{user}" password="{pwd}" url="{url}" driver="{driver}" encoding="UTF-8" delimiter=";">
<fileset dir="{basedir}/bookstore/drop">
<include name="*.sql" />
</fileset>
<classpath>
<fileset dir="{basedir}/WebContent/WEB-INF/lib">
<include name="*.jar" />
</fileset>
</classpath>
</sql>
</target>
</project>
4.实例四,Ant核心任务之jar
<?xml version="1.0" encoding="UTF-8"?>
<!--利用ant来对web项目进行打包操作-->
<project name="book" basedir="." default="jar">
<!--实例一,将做好的web项目打包到指定的位置保存起来-->
<target name="jar" description="将做好的web项目打包到指定的位置">
<jar destfile="E:/book.jar" basedir="{basedir}"></jar>
</target>
<!--实例二,有选择的进行打包-->
<target name="jarpart" description="有选择的进行打包">
<!--将book下的所有文件打包,但是除了*.xml下的所有源文件-->
<jar destfile="E:/book.jar" basedir="{basedir}" excludes="*.xml" ></jar>
</target>
<!--实例三,manifest属性指定自己的META-INF/MANIFEST.MF文件,而不是由系统生成-->
<target name="jarmf" description="指定自己的META-INF/MANIFEST.MF文件">
<!--将book下的所有文件打包,但是除了*.xml下的所有源文件-->
<jar destfile="E:/book.jar" basedir="{basedir}" excludes="*.xml" manifest="{basedir}/WebContent/META-INF/book.mf" ></jar>
</target>
</project>
该贴被鲲鹏展翅编辑于2012-11-23 9:25:18