Ant构建文件解析

<?xml version="1.0" encoding="UTF-8"?>
<!-- 在Ant脚本中,project是这个XML文档的根结点 ,project有如下几个属性:-->
<!-- name:指明构建任务的名称,通常状况下选择要构建的项目名称便可 -->
<!-- default:一个项目能够定义多个target。target就是Ant要执行的动做,在执行Ant时能够选择执行哪一个target。
    当没有选择执行哪一个target时,使用project的default属性指定的target。在调用 Ant脚本时,能够指定要运行的target,
    在没有指定target时,就要使用default指定的target,在这里default属性是必须指定的。-->
<!-- basedir:Ant脚本工做的根路径,在通常状况下,咱们会把Ant脚本放在构建项目的根目录下,这种状况下的basedir属性的值就能够是".",即把当前目录做为Ant脚本工做的根目录。 -->
<project name="HelloWorld" default="run" basedir=".">
     <!-- property用于描述Ant脚本中的属性和Ant脚本这外的properties属性文件。
         property至关于定义了一个变量, 这个变量在整个Ant脚本中能够使用。 如:-->
     <target name="prop">
         <!-- Ant脚本定义的工做根目录 -->
         <echo message="${basedir}" />
         <!-- Ant版本 -->
         <echo message="${ant.version}" />
         <!-- Ant脚本文件 -->
         <echo message="${ant.file}" />
         <!-- Ant脚本定义的工做名称 -->
         <echo message="${ant.project.name}" />
         <!-- Ant使用的JDK版本 -->
         <echo message="${ant.java.version}" />
          <!-- 操做系统 -->
         <echo message="${os.name}" />
         <!-- 把全部的环境变量取出放在env中 ,在后面的程序中能够使用${env.变量名称}来取出-->
         <property environment="env" />
         <echo message="${env.JAVA_HOME}" />
         <echo message="${env.TOMCAT_HOME}" />
     </target>
    <property name="src" value="src"/>
    <property name="dest" value="build/classes" />
    <property name="lib" value="build/lib" />
    <property name="hello_jar" value="build/lib/hello.jar" />
    <!-- 在Ant脚本中把想要作的事情用target描述,每一个target描述一件事情,target有如下几个属性: -->
    <!-- name:target名称,name属性是必须指定的 -->
    <!-- depends:指明各个target之间的依赖关系,一个target可能依赖于其它的target。若是一个target依赖于多个其余的target,只须要在depends中用逗号隔开便可。
        depends属性是可选的,不是必须指定的。 -->
    <!-- if:指定target所需设定的属性名。 -->
    <!-- unless:指定target所需清除的属性名 -->
    <!-- description:简单描述target功能。这些描述可由-projecthelp命令在DOS命令行中输出 -->
    <target name="init">
        <mkdir dir="${dest}" />
        <mkdir dir="${lib}" />
    </target>
    <target name="complie" depends="init">
        <javac srcdir="${src}" destdir="${dest}" />
    </target>
    <target name="build" depends="complie">
        <jar destfile="${hello_jar}" basedir="${dest}" >
            <manifest>
                <attribute name="Main-Class" value="HelloWorld" />
            </manifest>
        </jar>
    </target>
    <target name="run" depends="build">
        <java classname="com.helloworld.HelloWorld" classpath="${hello_jar}" />
        <echo message="${hello_jar}" />
    </target>
    <target name="clean">
        <delete file="${hello_jar}" />
        <delete dir="${dest}" />
        <delete dir="${lib}" />
    </target>
</project>
相关文章
相关标签/搜索