欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

自动构建工具Ant的使用(四)

程序员文章站 2022-03-03 22:46:01
例如在目录下有如下build.xml文件,该文件调用ant.xml构建文件,如下所示: [html]

例如在目录下有如下build.xml文件,该文件调用ant.xml构建文件,如下所示:
[html]
<?xml version="1.0" encoding="UTF-8"?> 
 
<project name="FirstAnt"  basedir="."  default="run" > 
 
      <target name="run"> 
 
              <ant antfile="ant.xml"/> 
 
       </target> 
 
</project> 
ant.xml文件如下:
[html] 
<?xml version="1.0" encoding="UTF-8"?> 
 
<project default="first"> 
 
       <description>描述的信息</description> 
 
       <property name="hello" value="welcome"/> 
 
       <target name="first"> 
 
              <mkdir dir="文件夹1"/> 
 
              <mkdir dir="文件夹2"/> 
 
              <mkdir dir="文件夹3"/> 
 
       </target> 
 
</project>  

也可以在执行的时候调用另一个构建文件中的某个目标。
antcall:该任务的含义是调用当前构建文件中的另一个目标(target)。
antcall任务的属性如下所示:

例如在目录下有如下build.xml文件,首先会执行antcall目标中的antcall任务,又会执行first目标如下所示:
[html] 
<?xml version="1.0" encoding="UTF-8"?> 
 
<project name="FirstAnt"  basedir="."  default="antcall" > 
 
      <target name="antcall"> 
 
              <antcall target="first"/> 
 
       </target> 
 
       <target name="first"> 
 
              <mkdir dir="文件夹1"/> 
 
              <mkdir dir="文件夹2"/> 
 
              <mkdir dir="文件夹3"/> 
 
       </target> 
 
</project> 
 

copy:该任务的含义是用于复制文件或目录。
copy任务的属性如下所示:

例如:
复制单个文件:
[html] 
<copy file="myfile.txt" tofile="mycopy.txt"/> 
复制单个文件到指定的目录:
[html] view plaincopyprint?
<copy file="myfile.txt" todir="../some/other/dir"/> 
复制一个目录到另一个目录下:
[html]
<copy todir="../new/dir"> 
    <fileset dir="src_dir"/> 
</copy> 
复制一批文件到另外一个目录下,其中fileset为文件集:
[html]
<copy todir="../dest/dir"> 
    <fileset dir="src_dir"> 
      <exclude name="**/*.java"/> 
    </fileset> 
  </copy> 
  <copy todir="../dest/dir"> 
    <fileset dir="src_dir" excludes="**/*.java"/> 
  </copy> 
复制一批文件到指定目录下,在文件名后增加.bak后缀:
[html] 
<copy todir="../backup/dir"> 
    <fileset dir="src_dir"/> 
    <globmapper from="*" to="*.bak"/> 
</copy> 
delete:该任务的含义是用于删除文件或目录。
delete任务的属性如下所示:

例如:
删除一个文件:
[html]
<delete file="/lib/ant.jar"/> 
删除指定目录及其子目录:
[html] 
<delete dir="lib"/> 
删除指定的一组文件:
[html] 
<delete> 
    <fileset dir="." includes="**/*.bak"/> 
</delete> 
删除指定目录及其子目录:
[html]
<delete includeEmptyDirs="true"> 
    <fileset dir="build"/> 
</delete> 
删除指定目录的子目录:
[html] 
<delete includeemptydirs="true"> 
    <fileset dir="build" includes="**/*"/> 
</delete> 
javac:该任务的含义是用于编译一个或多个Java源文件,通常需要srcdir和destdir两个常用属性,用于指定Java源文件的位置和编译后class文件的保存位置。由于javac任务的属性比较多,所以便没有截图。
例如在目录下有如下build.xml文件:
[html] 
<?xml version="1.0" encoding="UTF-8"?> 
<project name="FirstAnt"  basedir="."  default="compile" > 
               <target name="compile"> 
                               <mkdir dir="编译文件夹"/> 
                               <javac srcdir="." destdir="编译文件夹" includeantruntime="true"/> 
               </target> 
</project> 
运行结果如下所示:

java:该任务的含义是用于运行某个java类,通常需要classname属性,指定需要运行的类。
 

例如在目录下有如下build.xml文件:
[html]
<?xml version="1.0" encoding="UTF-8"?> 
<project name="FirstAnt"  basedir="."  default="run" > 
               <target name="run"> 
                               <java classname="HelloWorld"/> 
               </target> 
</project>