一个ant生成工具的配置文件模板

一个ant生成工具的配置文件模板【仅供参考】:

 

<?xml version="1.0"?>
<project default="dist" name="ProjectA">
   <description>
       一段描述信息,没有实际作用。
   </description>
   <!--property元素相当于变量,存放一定的值,一旦给定以后不能改变,只能通过控制台命令行给初始值。
               一般用 value 给其赋值,这里用 location 代替 value 是因为 location 属性专门设
               计用于以平台无关的方式包含文件系统路径,也就是当前路径。-->
   <property name="srcDir"location="."/>
   <property name="buildDir"location="classes"/>
   <property name="distDir"location="dist"/>
   
   <!--一个target 元素就是一个任务,一个步骤,如果命令行没有指定开始任务,则由 project元素的 default 属性决定要执行的任务-->
   <target name="init"description="在元素中指定描述信息!">
       <echo message="这里的信息将被输出到控制台!">
       <!--tstamp 元素一般不定义属性和内容,不产生任何输出;相反,它根据当前系统时间和日期设置Ant 以下属性:
       属性               说明                                   例子
       DSTAMP           设置为当前日期,默认格式为yyyymmdd       20031217
       TSTAMP           设置为当前时间,默认格式为hhmm           1603
       TODAY           设置为当前日期,带完整的月份           2003 年12 月17 日-->
       <tstamp/>
       <!--mkdir 元素用来创建目录 dir属性用来指定目录路径-->
       <!--delete 元素用来删除目录 ${buildDir} 引用 property 元素指定的name 为 buildDir 的属性变量-->
       <mkdir dir="${buildDir}"/>
       <mkdir dir="${distDir}"/>
       <!--文件操作:
           <copy file="src/Test.java"tofile="src/TestCopy.java"/> 把文件 Test.java 拷贝一份TestCopy.java
           <move file="src/Test.java"tofile="src/TestCopy.java"/> 把文件 Test.java 重新命名为TestCopy.java
           <copy file="src/Test.java"todir="archive"/> 把文件 Test.java 从 src 目录复制一份到archive 目录下
           <move file="src/Test.java"todir="archive"/> 把文件 Test.java 从 src 目录下移动到 archive目录下
           <replace file="input.txt" token="old"value="new"/>replace 任务,它执行文件中的查找和替换操作。
           token 属性指定要查找的字符串,
           value 属性指定一个新的字符串,
           查找到的标记字符串的所有实例都被替换为这个新的字符串.
           替换操作将在文件本身之内的适当位置进行。为了提供更详细的输出,可把 summary 属性设置为
           true。这将导致该任务输出找到和替换的标记字符串实例的数目。
           <copytodir="archive">---使用模式匹配复制多个文件
               <fileset dir="src">--fileset 代替 file属性
                   <include name="*.java"/>--包含 src目录下所有的 *.java 文件
                   <exclude name="*.class"/>--不包含 src目录下所有的 *.class 文件
               </fileset>
           </copy>-->
   </target>

   <!--target 元素的 depends 属性用来设置多个 target元素之间的依赖关系,如果要执行某个任务,必须先执行 depends 属性指定的所有
       它所依赖的 target 元素,只有它所依赖的所有 target元素都执行完了才能执行它自己-->
   <target name="com"depends="init">
       <!--javac 元素把 srcdir 指定目录下所有 *.java 文件编译成 *.class文件到 destdir 指定的目录下!
           如果不指定 destdir 属性,那么默认编译到同一目录下。其他属性:
            classpath:等价于javac 的-classpath 选项。
            debug="true":指示编译器应该带调试信息编译源文件。
            fork="true":当你希望指定编译器的某些内存选项,或者需要使用一种不同级别的编译器的时候。该属性设置为“true”
            executable="d:sdk141injavac":指定一个不同的 javac 可执行文件。
            memoryMaximumSize="128m":向上边指定的 javac传递一个最大内存设置-->
       <javac srcdir="${srcDir}"destdir="${buildDir}"/>
   </target>

   <target name="dist"depends="com">
       <!--jar 元素:在编译 Java 源文件之后,结果类文件通常被打包到一个 JAR文件中,这个文件类似 zip 归档文
           件。每个 JAR 文件都包含一个清单文件,它可以指定该 JAR 文件的属性。
           还可以把目录下的所有内容打包为 WAR 文件
           destfile:打包后的文件全名
           basedir:要打包的文件路径-->
       <jar destfile="${distDir}/package-${DSTAMP}.jar"basedir="${buildDir}">
           <!--manifest 属性允许指定一个用作该 JAR 文件的清单的文件。清单文件的内容还可以使用manifest
               任务在生成文件中指定。这个任务能够像文件系统写入一个清单文件,或者能够实际嵌套在 jar 之
               内,以便一次性地创建清单文件和 JAR 文件。-->
           <manifest>
               <attribute name="Built-By"value="${user.name}"/>
               <attribute name="Main-Class"value="package.Main"/>
           </manifest>
       </jar>
       <jar destfile="${distDir}/package-src-${DSTAMP}.jar"basedir="${srcDir}"/>
   </target>

   <target name="zip"depends="dist">
       <!--zip 元素用来创建 zip 包,和 jar元素相似-->
       <zip destfile="output.zip"basedir="output"/>
       <!--相同的语法也可用于创建 tar 文件。 还可以使用 GZip 和 BZip任务来压缩文件。-->
       <tar destfile="output.tar"basedir="output"/>
       <gzip src="output.tar"zipfile="output.tar.gz"/>
       <!--解压缩和提取文件同样也很简单.-->
       <unzip src="output.tar.gz"dest="extractDir"/>
       <!--还可以包括 overwrite属性来控制覆盖行为。默认设置是覆盖与正在被提取的归档文件中的条目相
           匹配的所有现有文件。相关的任务名称是 untar、unjar、gunzip 和bunzip2。-->
   </target>

   <!--编写一个 clean目标来从目标目录移除生成的任何类文件是个很好的习惯。如果想要确
       保所有源文件都已编译,就可以使用这个任务。这种行为刻画了 Ant 的许多任务的特点:
       如果某个任务能够确定所请求的操作不需要执行,那么该操作就会被跳过。-->
   <target name="clean">
       <delete dir="${buildDir}"/>
       <delete dir="${distDir}"/>
   </target>
</project>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值