建立一个基本的程序通常有几个常用的任务,像是设置通用属性、创建或删除目录、编译程序、打包、拷贝文件等等。
这些任务,我们都可以在build.xml中编写相应的任务目标[target]
■ 属性设定:<property>
如果一个固定的值(如:目录D:\dev\lib),在多个target中被应用到,这时我们就通过<property>对它设定,
应用到它的地方都使用设定的<property>代替,如果日后有发生变化,也只需要改动<property>的设定即可
<
target
name
="defProperty"
description
="设定属性"
>
< property name ="tomcat.home" value ="C:/jakarta-tomcat" />
< property name ="app.home" value ="." />
< property name ="src.home" value ="${app.home}/src" />
< property name ="lib.home" value ="${app.home}/WEB-INF/lib" />
< property name ="classes.home" value ="${app.home}/WEB-INF/classes" />
</ target >
< property name ="tomcat.home" value ="C:/jakarta-tomcat" />
< property name ="app.home" value ="." />
< property name ="src.home" value ="${app.home}/src" />
< property name ="lib.home" value ="${app.home}/WEB-INF/lib" />
< property name ="classes.home" value ="${app.home}/WEB-INF/classes" />
</ target >
每个property都有一个name(名称)和一个value(值),要引用某个property可以使用${property-name},像上面的${app.home}。
这些属性的值也可以在执行的时候指定,如:ant -Dapp.home="d:\dev\book",如果执行时没有指定,那么就会使用value上定义的值。
■ 创建目录:<mkdir>
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
可以看到我们这里使用了一个属性DIST.DIR代替一个具体的目录。
■ 创建目录和文件:<delete>
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
■ 拷贝文件和目录:<copy>
<
target
name
="copyFileAndDir"
description
="拷贝文件和目录"
>
<!-- 拷贝单个文件 -->
< copy file ="error.log" tofile ="debug.log" />
<!-- 拷贝单个文件到指定目录 -->
< copy file ="error.log" todir ="${LOG.DIR}" />
<!-- 拷贝多个文件到指定目录 -->
< copy todir ="${LOG.DIR}" >
< fileset dir ="log" >
< include name ="**/*.log" />
< exclude name ="**/error.log" />
</ fileset >
</ copy >
<!-- 同上 -->
<!--
<copy todir="${LOG.DIR}">
<fileset dir="log" excludes="**/*.txt"/>
</copy>
-->
<!-- 拷贝一个目录到另一个目录 -->
< copy todir ="newbin" >
< fileset dir ="bin" />
</ copy >
</ target >
<!-- 拷贝单个文件 -->
< copy file ="error.log" tofile ="debug.log" />
<!-- 拷贝单个文件到指定目录 -->
< copy file ="error.log" todir ="${LOG.DIR}" />
<!-- 拷贝多个文件到指定目录 -->
< copy todir ="${LOG.DIR}" >
< fileset dir ="log" >
< include name ="**/*.log" />
< exclude name ="**/error.log" />
</ fileset >
</ copy >
<!-- 同上 -->
<!--
<copy todir="${LOG.DIR}">
<fileset dir="log" excludes="**/*.txt"/>
</copy>
-->
<!-- 拷贝一个目录到另一个目录 -->
< copy todir ="newbin" >
< fileset dir ="bin" />
</ copy >
</ target >
■ 移动或重命名文件、目录:<move>
<
target
name
="moveFileAndDir"
description
="移动或重命名文件和目录"
>
<!-- 移动或重命名一个文件 -->
< move file ="error.log" tofile ="debug.log" />
<!-- 移动或重命名一个文件到另一个目录下 -->
< move file ="error.log" todir ="new/log" />
<!-- 将目录移到另一个目录下 -->
< move todir ="new/log" >
< fileset dir ="log" />
</ move >
<!-- 一组文件移到另一个目录下 -->
< move todir ="new/log" >
< fileset dir ="log" >
< include name ="**/*.log" />
< exclude name ="**/error.log" />
</ fileset >
</ move >
</ target >
<!-- 移动或重命名一个文件 -->
< move file ="error.log" tofile ="debug.log" />
<!-- 移动或重命名一个文件到另一个目录下 -->
< move file ="error.log" todir ="new/log" />
<!-- 将目录移到另一个目录下 -->
< move todir ="new/log" >
< fileset dir ="log" />
</ move >
<!-- 一组文件移到另一个目录下 -->
< move todir ="new/log" >
< fileset dir ="log" >
< include name ="**/*.log" />
< exclude name ="**/error.log" />
</ fileset >
</ move >
</ target >