ant的任务

在Ant工具中每一个任务封装了具体要执行的功能,是Ant工具的基本执行单位。

核心任务

核心任务是Ant自带的任务。
可选任务。

可选任务实来自第三方的任务,因此需要一个附加的JAR文件。
用户自定义的任务

用户自定义的任务实用户自己开发的任务。

一个可选task一般需要额外的库才能工作。这些外部库可以放到Ant的lib目录下,这样Ant就能自动装入,或者将其放入环境变量中

echo任务

该任务的作用是根据日志或监控器的级别输出信息。它包括message、file、append和level四个属性,:

 ant一共有五种log级别
 0 error
 1 warning
 2 info
 3 verbose
 4 debug
 可以使用
 ant -debug 3指定输出日志的级别

<echo message="Hello,流浪鱼" file="${basedir}logs/system.log" level="debug" append="true"/>

 

mkdir任务

创建目录

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="mkdir" name="testMkdir">
	<!--定义路径-->
	<property name="build.dest" value="${basedir}/build_ant/dest" />
	<target name="mkdir">
		<description>测试mkdir任务</description>
		<mkdir dir="${build.dest}"/>
		<mkdir dir="test/test2"/>
	</target>
</project>

 

copy任务

该任务主要用来对文件和目录的复制功能属性如下:

file 表示源文件。也可以用嵌套的<fileset>。
tofile 表示目标文件。
todir 表示目标目录。
overwrite 表示指定是否覆盖目标文件,默认值是不覆盖。
includeEmptyDirs 表示制定是否拷贝空目录,默认值为拷贝。
failonerror 表示指定如目标没有发现是否自动停止,默认值是停止。
verbose 表示制定是否显示详细信息,默认值不显示。 

分为:单文件复制、单文件复制到目录、目录全部复制到目录、目录满足条件复制到目录

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="dirTodir2" name="testCopy">
	<!--定义路径-->
	<property name="src.dir" value="${basedir}/srcdir" />
	<property name="to.dir" value="${basedir}/todir" />
	<property name="to.dir2" value="${basedir}/todir2" />
	<property name="srcfilename" value="${basedir}/src.txt" />
	<property name="tofilename" value="${basedir}/copyto.txt" />
	<target name="init">
		<!--删除生成文件夹-->
		<delete dir="${to.dir}"/>
		<delete dir="${to.dir2}"/>
		<mkdir dir="${to.dir}" />
		<mkdir dir="${to.dir2}" />
	</target>
	<target name="fileTofile" depends="init">
		<description>单个文件复制到另一个文件</description>
		<copy file="${srcfilename}" tofile="${tofilename}"  overwrite="true"/>
	</target>
	<target name="fileTodir" depends="init">
		<description>单个文件复制到某个目录</description>
		<copy file="${srcfilename}" todir="${to.dir}" overwrite="true"/>
	</target>
	<target name="dirTodir" depends="init">
		<description>某个目录复制到某个目录</description>
		<copy todir="${to.dir}" overwrite="true">
			<fileset dir="${src.dir}" />
		</copy>
	</target>
	<target name="dirTodir2" depends="init">
		<description>某个目录复制到某个目录包含或排除某些文件</description>
		<copy todir="${to.dir2}" overwrite="true">
			<fileset dir="${src.dir}">
				<include name="*.xml" />
				<include name="**/*.log" />
				<exclude name="*.bak" />
				<exclude name="**/*.bak" />
			</fileset>
		</copy>
	</target>
</project>

 

delete任务

 对文件或目录进行删除属性如下:

file表示要删除的文件。
dir表示要删除的目录。
includeEmptyDirs 表示指定是否要删除空目录,默认值是删除。
failonerror 表示指定当碰到错误是否停止,默认值是自动停止。
verbose表示指定是否列出所删除的文件,默认值为不列出

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="dirTodir2" name="testDelete">
	<!--定义路径-->
	<property name="del.dir" value="${basedir}/deldir" />
	<property name="delfilename" value="${basedir}/del.txt" />
	<target name="delfile">
		<description>删除单个文件</description>
		<delete file="${delfilename}"/>
	</target>
	<target name="deldir">
		<description>删除某个目录</description>
		<delete dir="${del.dir}" includeEmptyDirs="true"/>
	</target>
	<target name="deldir2">
		<description>删除满足条件和空目录</description>
		<delete includeemptydirs="true">
			<fileset dir="${del.dir}">
				<include name="*.bak"/>
				<include name="**/*.bak"/>
			</fileset>
		</delete>
	</target>
</project>

 经过测试 includeEmptyDirs并不好用

move任务

 移动文件或目录

 

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="dirTodir2" name="testMove">
	<!--定义路径-->
	<property name="src.dir" value="${basedir}/srcdir" />
	<property name="to.dir" value="${basedir}/todir" />
	<property name="srcfilename" value="${basedir}/src.txt" />
	<property name="tofilename" value="${basedir}/move.txt" />
	<target name="init">
		<delete dir="${to.dir}" />
		<mkdir dir="${to.dir}" />
	</target>
	<target name="movefile" >
		<description>移动单个文件</description>
		<move file="${srcfilename}" tofile="${tofilename}" />
	</target>
	<target name="movefileTodir" depends="init">
		<description>移动单个文件到目录</description>
		<move file="${srcfilename}" todir="${to.dir}"/>
	</target>
	<target name="movedirTodir" depends="init">
		<description>移动某个目录到某个目录</description>
		<move todir="${to.dir}">
			<fileset dir="${src.dir}" />
		</move>
	</target>
	<target name="movedirTodir2" depends="init">
		<description>移动满足条件的目录</description>
		<move todir="${to.dir}">
			<fileset dir="${src.dir}">
				<exclude name="*.bak"/>
				<exclude name="**/*.bak"/>
			</fileset>
		</move>
	</target>
</project>

 dependset任务
将一个或多个输入文件与一个或多个输出文件加以比较。如果某些输入文件添加一些,则所有输出文件都删除,如果缺少某些输入文件,所有的输出文件也将被删除

 

更详细的内容请查阅下载下来的ant文件夹下apache-ant-1.9.0\manual\Tasks里面文件,对每个任务做了具体的讲解

 

 其中ant.rar是自己测试上面任务时做的例子,希望对大家有用

更多的ant支持的任务请查看下载下来的apache-ant-1.9.0\manual\Tasks文件夹里面的内容,有非常详细的简绍,我也把manual上传了,可以进行直接下载

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值