`
Jseeker
  • 浏览: 14184 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

ANT配置文件详解(转)

Ant 
阅读更多
<!--Ant(another neat tool---另一个整洁的工具)-->

<?xml version="1.0"?>
<project default="dist" name="Project A">
    <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。这将导致该任务输出找到和替换的标记字符串实例的数目。
            <copy todir="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>
 
分享到:
评论

相关推荐

    Ant 配置文件详解

    本文将深入解析Ant配置文件的各个方面,帮助你理解和掌握Ant的工作原理。 一、`build.xml` 文件结构 `build.xml` 文件遵循XML语法,包含了一系列的目标(targets)和任务(tasks)。每个目标可以包含多个任务,任务...

    ANT配置文件详解

    【ANT配置文件详解】 ANT(Apache Ant)是一个Java构建工具,它通过XML配置文件(通常命名为build.xml)来管理项目的构建、编译、测试和部署流程。Ant的主要优点包括跨平台性、简单易用和良好的可扩展性。它能够...

    ant 配置文件集合

    这些文档,如“在Eclipse中集成Ant配置.doc”、“Ant的配置.doc”、“java_ant详解.doc”、“Ant配置实例.doc”和“ant的安装与配置.docx”,会进一步详细介绍如何编写Ant配置文件,解决实际问题,以及如何在开发...

    Ant配置文件 标签详解及示例.pdf

    ### Ant配置文件标签详解 #### 1. `&lt;project&gt;` 标签 - **定义**:构建文件中的根标签,代表整个构建项目。 - **属性**: - `default`:必需属性,指定了构建文件中默认执行的目标(target)名称。 - `basedir`:...

    ANT文件详解 ant介绍 ANT 命令

    Ant采用XML格式的配置文件,不仅避免了Makefile中常见的Tab问题,还提供了更为清晰的结构和易于维护的特性。Ant的构建过程主要围绕“Project”、“Target”和“Task”三个核心概念展开: - **Project**:代表整个...

    ANT-build详解

    总的来说,ANT作为Java项目的自动化构建工具,通过XML配置文件提供了一种声明式的方式来定义构建过程,从而简化了软件开发的生命周期管理。其跨平台性、可扩展性和与JUnit等工具的集成,使其成为Java开发者的得力...

    ant 配置文件

    《Ant配置文件详解》 Ant,作为Java世界中的一款构建工具,因其强大的灵活性和可扩展性,被广大开发者广泛应用于项目构建与自动化任务执行。它使用XML格式的配置文件(通常名为build.xml)来定义构建过程,使得项目...

    ANT-build-xml文件详解

    【ANT-build.xml文件详解】 ANT-build.xml文件是Apache Ant构建工具的核心配置文件,它使用XML格式定义了构建项目的所有步骤和任务。Ant是Java社区广泛使用的自动化构建工具,它的主要优势在于跨平台性、易用性和...

    Ant详细配置总结

    1. **创建`build.xml`文件**:这是Ant的核心配置文件,所有构建相关的任务都将在其中定义。 2. **定义`&lt;project&gt;`标签**:这是构建文件中的根元素,用于指定构建的基本信息,如默认目标、构建文件的基路径等。 ``...

    ANT打包命令详解api指令

    ANT通过XML格式的配置文件(通常命名为`build.xml`)来定义任务和依赖关系。在本文中,我们将深入解析ANT打包命令中的`api`指令,以及一些常见的ANT使用示例。 首先,`api`指令在ANT中并不常见,可能是指使用ANT来...

    J2EE JNDI配置原理详解 JBOSS安装配置 Maven入门 Ant使用入门

    1.12 详解MANIFEST.MF文件 1.13 Maven入门--概念与实例 1.14 Subversion 1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 JBoss 5.0 安装与配置详解 1.18 JBOSS安装配置 1.19 Oracle,MySql,...

    [北京圣思园Ant深入详解]_003.Ant目标深度详解、使用Ant的各种任务

    一些常见的Ant任务包括`&lt;copy&gt;`(复制文件或目录)、`&lt;javac&gt;`(编译Java源代码)、`&lt;mkdir&gt;`(创建目录)和`&lt;jar&gt;`(创建JAR文件)等。 让我们以`&lt;javac&gt;`任务为例,它是用于编译Java源代码的关键任务。你可以配置...

    Ant编译实例详解[收集].pdf

    Ant是一个基于Java的构建工具,它允许开发者通过XML配置文件来定义任务,自动化项目的构建、测试和部署。 在Ant编译过程中,项目通常具有以下目录结构: 1. _servlets:项目根目录,包含build.xml配置文件、WEB-...

    ANT-build.xml文件详解

    《ANT-build.xml文件详解》 在软件开发领域,构建工具起着至关重要的作用,它们负责自动化项目的构建、编译、测试等过程。本文将详细解析ANT-build.xml文件,这是一个基于Apache Ant构建系统的配置文件,它提供了跨...

    [北京圣思园Ant深入详解]_004.实现自定义Ant任务

    Ant的任务通常是由用户通过XML配置文件定义的,这些文件包含了构建过程的指令。然而,内置的任务可能无法满足所有项目需求,因此自定义任务应运而生。 实现自定义Ant任务,你需要遵循以下步骤: 1. **创建Task类**...

    ant打包ant的build.xml的详解

    build.xml 文件是 Ant 的核心配置文件,它定义了项目的构建过程。下面是一个简单的 build.xml 文件示例: ```xml 一段描述信息,没有实际作用。 &lt;!-- property 元素相当于变量,存放一定的值,一旦给定...

    [北京圣思园Ant深入详解]_002.Ant属性、目标、依赖深度详解

    Apache Ant是一个基于Java的构建工具,它通过XML配置文件来描述项目构建过程,极大地简化了Java项目的构建和部署。本篇将深入探讨Ant中的三个核心概念:属性(Properties)、目标(Targets)以及依赖(Dependencies...

Global site tag (gtag.js) - Google Analytics