• Ant 之 Task


    Ant提供了大量的核心task和可选task,除此之外,Ant还允许用户定义自己的task,这大大扩展了Ant的功能。
    本书由于篇幅关系,所以不可能详细介绍Ant所有的核心task和可选task,本书将会简要介绍一些常用的核心task。


     —javac:用于编译一个或者多个Java源文件,通常需要srcdir和destdir两个属性,用于指定Java源文件的位置和编译后class文件的保存位置。
     —java:用于运行某个Java类,通常需要classname属性,用于指定需要运行哪个类。
     —jar:用于生成JAR包,通常需要指定destfile属性,用于指定所创建JAR包的文件名。除此之外,通常还应指定一个文件集,表明需要将哪些文件打包到JAR包里。
     —sql:用于执行一条或多条SQL语句,通常需要driver、url、userid和password等属性,用于指定连接数据库的驱动类、数据库URL、用户名和密码等,还可以通过src来指定需要指定的SQL脚本文件,或者直接使用文本内容的方式指定SQL脚本字符串。
     —echo:输出某个字符串。
     —exec:执行操作系统的特定命令,通常需要executable属性,用于指定想执行的命令。
     —copy:用于复制文件或路径。
     —delete:用于删除文件或路径。
     —mkdir:用于创建文件夹。
     —move:用户移动文件和路径。


    提示:%ANT_HOME%/docs/manual/CoreTasks路径下包含了Ant所有核心 task的详细介绍,而%ANT_HOME%/docs/manual/OptionalTasks路径下包含了Ant所有可循task的详细介绍。

    =========================================================================================================

    例如:build.xml文件如下:

    <?xml version="1.0" encoding="GBK"?>
    [code]<!-- 定义生成文件的project根元素,默认的target为空 -->
    <project name="antQs" basedir="." default="">
    <!-- 定义三个简单属性 -->
    <property name="src" value="src"/>
    <property name="classes" value="classes"/>
    <property name="dest" value="dest"/>
    <!-- 定义一组文件和目录集 -->
    <path id="classpath">
           <pathelement path="${classes}"/>
    </path>
    <!-- 定义help target,用于输出该生成文件的帮助信息 -->
    <target name="help" description="打印帮助信息">
           <echo>help - 打印帮助信息</echo>
           <echo>compile - 编译Java源文件</echo>
           <echo>run - 运行程序</echo>
           <echo>build - 打包JAR包</echo>
           <echo>clean - 清除所有编译生成的文件</echo>
    </target>
    <!-- 定义compile target,用于编译Java源文件 -->
    <target name="compile" description="编译Java源文件">
           <!-- 先删除classes属性所代表的文件夹 -->
           <delete dir="${classes}"/>
           <!-- 创建classes属性所代表的文件夹 -->
           <mkdir dir="${classes}"/>
           <!-- 编译Java文件,编译后的class文件放到classes属性所代表的文件夹内 -->
           <javac destdir="${classes}" debug="true"
                   deprecation="false" optimize="false" fail>
                   <!-- 指定需要编译的Java文件所在的位置 -->
                   <src path="${src}"/>
                   <!-- 指定编译Java文件所需要第三方类库所在的位置 -->
                   <classpath refid="classpath"/>
           </javac>
    </target>
    <!-- 定义run target,用于运行Java源文件,
           运行该target之前会先运行compile target -->
    <target name="run" description="运行程序" depends="compile">
           <!-- 运行lee.HelloTest类,其中fork指定启动另一个JVM来执行java命令 -->
           <java classname="lee.HelloTest" fork="yes" fail>
                   <classpath refid="classpath"/>
                   <!-- 运行Java程序时传入2个参数 -->
                   <arg line="测试参数1 测试参数2"/>
           </java>
    </target>
    <!-- 定义build target,用于打包JAR文件,
           运行该target之前会先运行compile target -->
    <target name="build" description="打包JAR文件" depends="compile">
           <!-- 先删除dest属性所代表的文件夹 -->
           <delete dir="${dest}"/>
           <!-- 创建dest属性所代表的文件夹 -->
           <mkdir dir="${dest}"/>
           <!-- 指定将classes属性所代表的文件夹下的所有
                   *.classes文件都打包到app.jar文件中 -->
           <jar destfile="${dest}/app.jar" basedir="${classes}"
                   includes="**/*.class">
                   <!-- 为JAR包的清单文件添加属性 -->
                   <manifest>
                           <attribute name="Main-Class" value="lee.HelloTest"/>
                   </manifest>
           </jar>
    </target>
    <!-- 定义clean target,用于删除所有编译生成的文件 -->
    <target name="clean" description="清除所有编译生成的文件">
           <!-- 删除两个目录,目录下的文件也一并删除 -->
           <delete dir="${classes}"/>
           <delete dir="${dest}"/>
    </target>
    </project>

    转自--------------------http://blog.sina.com.cn/s/blog_6870d1e00100ixdx.html

  • 相关阅读:
    POJ 1995
    POJ 3233
    HDU 2815
    POJ 2417
    POJ 3243
    HDU 3579 线性同余方程组
    HDU 1573
    POJ 2115
    POJ 2891
    HDU 2035 不忍直视的水
  • 原文地址:https://www.cnblogs.com/tudachui/p/9530535.html
Copyright © 2020-2023  润新知