Ant配置文件详解入门

<?xml version="1.0" encoding="UTF-8"?>
<!--name:表示项目名 ,
default:表示默认的运行目标,这个属性是必须的
basedir:表示项目的基准目录
-->
<project name="Ant" default="deploy" basedir=".">
    <description>
        描述
    </description>
    <!-- property:
      Ant提供对所有系统属性的访问,就好像使用<property>任务定义了它们一样。 例如,$ {os.name}扩展为操作系统的名称。
      此外,Ant具有一些内置属性 ,详情见 http://ant.apache.org/manual/properties.html#built-in-props
        basedir : 项目baseir的绝对路径(由<project>的basedir属性设置)
        ant.file :    构建文件的绝对路径。
        ant.version :   Ant的版本
        ant.project.name :   当前正在执行的项目的名称;它在<project>的name属性中设置。
        ant.project.default-target :    当前正在执行的项目的默认目标的名称;通过<project>的默认属性进行设置。
        ant.project.invoked-targets :  调用当前项目时已指定(在命令行上,在IDE内,由<ant>任务等...)指定的目标的逗号分隔列表。 执行第一个目标时正确设置此属性。如果您在隐式目标(直接在<project>标记下)中使用它,则在未指定目标的情况下该列表将为空,而在这种情况下,该列表将包含项目的默认目标(对于嵌套在目标中的任务)。
        ant.java.version :   检测到的JVM版本
        ant.core.lib : ant.jar文件的绝对路径。
    -->
    <!-- property: 类似于常量,可以供给build.xml中的其他标签使用。
     有两个特点:
          - 大小写敏感
          - 不可改变,谁先设定,之后的都不能改变。-->
    <!--http://ant.apache.org/manual/Tasks/property.html-->
    <!--     name 要设置的属性的名称。 value 要设置的属性的值-->
    <property name="value" value="false"/>
    <!-- location: 将属性设置为给定文件的绝对文件名。 如果此属性的值是绝对路径,则将其保留不变(将“ /”和“ \”字符转换为当前平台约定)。 否则,它将被视为相对于项目的基础路径并进行扩展。-->
    <property name="location" location="src"/>
    <!--  包含属性文件格式的属性设置的类路径资源的名称.-->
    <property resource="src/resources/application.properties"/>
    <!--要加载的属性文件的位置-->
    <property file="build.properties"/>
    <!--    包含属性格式设置的URL。-->
    <!--    <property url="https://www.mysite.com/bla/props/foo.properties"/>-->

    <!--
    name:target的名称, Required:Yes
    depends:此target的依赖,以逗号分隔的目标名称列表。 Required:No
    if:  为了执行此目标必须设置的属性的名称,或者计算结果为“ true”的名称。  Required:No
    unless: 为了执行此目标而必须设置的属性名称,或者某些值评估为“ false”。  Required:No
    (注意: 在if / unless属性中只能指定一个属性名称。如果要检查多个条件,则可以使用从属目标来计算检查结果)
    description:  该目标功能的简短描述  Required:No
    extensionOf:  将当前目标添加到命名扩展点的从属列表。 从Ant 1.8.0开始   Required:No
    onMissingExtensionPoint: 如果此目标尝试扩展缺少的扩展点,该怎么办。 (“失败”,“警告”,“忽略”)。 从Ant 1.8.2开始。   Required:No
    -->
    <target name="deploy"
            depends="A,deploy.check"
            if="deploy.run"
            description="目标功能的简短描述">
        <!--     task    -->
        <echo message="Hello world" file="build.properties" append="true"/>
        <tstamp/>
    </target>
    <!--在if / unless属性中只能指定一个属性名称。如果要检查多个条件,则可以使用从属目标来计算检查结果-->
    <target name="deploy.check">
        <condition property="deploy.run">
            <and>
                <available file="ant.xml"/>
            </and>
        </condition>
    </target>

    <!--    执行D时,依赖的正确执行顺序  A → B → C → D ,虽然D的depends="C,B,A" 按理应该是C → B → A 这样执行,
           但是C依赖B,B以依赖A ,所以正确的应该是 A → B → C → D ,且 A,B 不会执行两次 即: A → B → C → B → A → D -->
    <target name="A"/>
    <target name="B" depends="A"/>
    <target name="C" depends="B"/>
    <target name="D" depends="C,B,A"/>

    <!--    内置任务列表 http://ant.apache.org/manual/tasklist.html -->
    <!-- Tasks  这样定义,在任何Target执行时都会执行此Task . -->
    <echo message="Hello world" append="true"/>

</project>
posted @ 2023-02-12 20:25  菜阿  阅读(116)  评论(0编辑  收藏  举报