Ant 学习及常用任务
安装与配置
下载地址:http://ant.apache.org/bindownload.cgi,解压。
添加系统环境变量:
ANT_HOME,该变量指向Ant解压后的根目录。
PATH,追加path目录 %ANT_HOME/bin%;
安装与配置完毕后,在cmd里运行命令ant --version,若安装和配置成功,则会显示Ant版本信息。
样例
<?xml version="1.0"?>
<project name="helloWorld" default="sayBaseDir">
<!-- 变量 -->
<property name="basedir" value="D:\workspace\ant"/>
<property name="propertyStudy" value="example"/>
<property name="name" value="amigo"/>
<property name="age" value="25"/>
<property name="classes" value="build/classes"/>
<property name="build" value="build"/>
<target name="targetA" if="ant.java.version">
<!-- 打印一串字符 -->
<echo message="Java Version: ${ant.java.version}"/>
<!-- 将消息输出到文件中 -->
<echo message="Java Version: ${ant.java.version}" file="copy/a.txt" append="true"/>
</target>
<!-- 任务依赖 先执行targetA 如果amigo不存在则执行-->
<target name="targetB" depends="targetA" unless="amigo">
<description>
a depend example!
</description>
<!-- 打印一串字符 -->
<echo message="The base dir is: ${basedir}"/>
</target>
<target name="copyA">
<description>
a copy example!
</description>
<echo message="Copy start..."/>
<!-- 复制单个文件 -->
<copy file="copy/a.txt" tofile="copy/b.txt"/>
<!-- 对文件目录进行复制 -->
<copy todir="copy_res">
<fileset dir="copy"/>
</copy>
<!-- 文件复制到另外的目录 -->
<copy file="copy/a.txt" todir="copy_res/new_copy"/>
</target>
<target name="deleteA">
<description>
a delete example!
</description>
<echo message="Delete start..."/>
<!-- 删除某个文件 -->
<delete file="copy/b.txt"/>
<!-- 删除某个目录 -->
<delete dir="copy_res"/>
<!-- 删除所有的备份目录或空目录 -->
<delete includeEmptyDirs="true">
<fileset dir="." includes="**/*.bak"/>
</delete>
</target>
<target name="mkdirA">
<description>
a mkdir example!
</description>
<echo message="Mkdir start..."/>
<!-- 创建目录 -->
<mkdir dir="build"/>
</target>
<target name="moveA">
<description>
a move example!
</description>
<echo message="Mkdir start..."/>
<!-- 移动单个文件 -->
<move file="copy_res/a.txt" tofile="copy_res/b.txt"/>
<!-- 移动单个文件到另一个目录 -->
<move file="copy_res/b.txt" todir="copy_res/new_copy"/>
<!-- 移动某个目录到另一个目录 -->
<move todir="copy_res_new">
<fileset dir="copy_res"/>
</move>
</target>
<!-- 删除目录 -->
<target name="clean">
<delete dir="build"/>
</target>
<!-- 进行编译 -->
<target name="compile" depends="clean">
<mkdir dir="${classes}"/>
<javac srcdir="src" destdir="${classes}"/>
</target>
<!-- 运行编译运行 -->
<target name="run" depends="compile">
<java classname="HelloWorld">
<classpath>
<pathelement path="build/classes"/>
</classpath>
</java>
</target>
<!-- 生成jar文件 -->
<target name="jar" depends="run">
<jar destfile="helloworld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-class" value="HelloWorld"/>
</manifest>
</jar>
</target>
<!-- 打war包-->
<target name="war" depends="compile">
<war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">
<!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹-->
<fileset dir="WebRoot" includes="**/*.jsp"/>
<!-- 拷贝lib目录下的jar包-->
<lib dir="${lib}"/>
<!-- 拷贝build/classes下的class文件-->
<classes dir="${classes}"/>
</war>
</target>
</project>
-----------------------------------------------------
说明:
a).代码仅供学习交流
b).本文根据自身经验及网络总结所作,如有错误,谢谢指教
c).转载请注明出处。
-----------------------------------------------------
说明:
a).代码仅供学习交流
b).本文根据自身经验及网络总结所作,如有错误,谢谢指教
c).转载请注明出处。
-----------------------------------------------------