`
xiaobian
  • 浏览: 588011 次
  • 来自: 北京
社区版块
存档分类
最新评论

ANT Build.xml例子

阅读更多
ANT Build.xml例子
<?xml version="1.0"  encoding="GB2312" ?>
<!--
    =======================================================================
      hello-ant 项目 ,学习ant工具的build file.

      参照ant的jakarta-ant-1.6alpha的build.xml

      Copyright (c) 2002 The Neusoft Software Foundation.  All rights
      reserved.

    =======================================================================
-->

<!--
    文档结构为:
    <project>
        <property/>               全局变量的定义
        <property/>...

        <target name="1">         任务组(tasks)
            <javac></javac>       一项javac任务
            ...
            <oneTask></ontTask>   一项其它任务
        </target>

        <target name="2">
            <javac></javac>
            ...
            <oneTask></ontTask>
        </target>
    </project>

    project代表一个项目,
    default:运行到名称为"dist"的target(任务组)
    basedir:基准路径。
-->
<project default="dist" basedir=".">

<!--
    ===================================================================
      定义属性(property tasks)
      最好把用到的路径呀,名称呀都在这里定义成全局变量
      例:定义
          <property name="a" value="hello"/>
      以后就可以这样用它:
          <property name="b" value="${a}/b"/>
      现在:b=="hello/b"
    ===================================================================
-->

    <!--主要的系统环境属性-->
    <property environment="env"/><!--取window,unix...的环境变量-->
    <property name="java.home" value="${env.JAVA_HOME}"/>
    <property name="ant.home"  value="${env.ANT_HOME}"/>

    <!--主要的app环境属性-->
    <property name="app.name"      value="hello-ant"/>
    <property name="app.jar"       value="${app.name}.jar"/>
    <property name="app.copyright" value=" Copyright (c) 2002 The Neusoft Software Foundation.  All rights reserved."/>


    <!--app中src的属性-->
    <property name="src.dir"    value="src" />
    <property name="src.main"   value="${src.dir}/main"/>
    <property name="src.script" value="${src.dir}/script"/>

    <!--app用到的lib-->
    <property name="lib.dir" value="lib"/>

    <!--app的build目录中-->
    <property name="build.dir"      value="build" />
    <property name="build.classes"  value="${build.dir}/classes"/>
    <property name="build.docs"     value="${build.dir}/docs"/>
    <property name="build.docs.api" value="${build.docs}/api"/>
    <property name="build.lib"      value="${build.dir}/lib"/>

    <!--app的dist (distribution) 目录中-->
    <property name="dist.dir"      value="dist"/>
    <property name="dist.bin"      value="${dist.dir}/bin"/>
    <property name="dist.docs"     value="${dist.dir}/docs"/>
    <property name="dist.lib"      value="${dist.dir}/lib"/>

    <!--app的docs目录中-->
    <property name="docs.dir"      value="docs"/>

    <!--
    定义一组路径以后可以通过id重用这组路径 ,例:
    <javac srcdir="src/main" destdir="build/classes">
            <classpath refid="classpath"/>
    </javac>
    -->
    <path id="classpath">
        <!--本项目只有一个java,用不上classpath,这里只是做个例子-->
        <pathelement location="${build.classes}"/>
        <pathelement path="${java.home}/lib/tools.jar"/>
    </path>

<!--
    ===================================================================
      init 准备目录(File Tasks)
      主要的目录结构通常是不会变的,一起生成他们
    ===================================================================
-->
    <target name="init">
        <!--清除以前目录-->
        <delete dir="${build.dir}" failonerror="false" />
        <delete dir="${dist.dir}"  failonerror="false"/>

        <!--准备目录-->
        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.classes}"/>
        <mkdir dir="${build.docs}"/>
        <mkdir dir="${build.docs.api}"/>
        <mkdir dir="${build.lib}"/>

        <mkdir dir="${dist.dir}"/>
        <mkdir dir="${dist.bin}"/>
        <mkdir dir="${dist.lib}"/>

    </target>

<!--
    ===================================================================
      Build the code (Compile Tasks,File Tasks)
    ===================================================================
-->
    <target name="build" depends="init">
        <!--编译-->
        <javac srcdir="${src.main}" destdir="${build.classes}">
            <classpath refid="classpath"/>
        </javac>
    </target>

<!--
    ===================================================================
      打包文档(Archive Tasks)
      Create the project jars: xxx1.jar and xxx2.jar
    ===================================================================
-->
   <target name="jars" depends="build">
        <jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}"/>
    </target>

<!--
     ===================================================================
       Creates the API documentation
     ===================================================================
-->
    <target name="javadocs"
            depends="jars"
            description="--> creates the API documentation">
        <!--copy docs 手册... -->
        <copy todir="${build.docs}">
            <fileset dir="${docs.dir}"/>
        </copy>

        <javadoc packagenames="hello.ant.*"
                 sourcepath="${src.main}"
                 defaultexcludes="yes"
                 destdir="${build.docs.api}"
                 author="true"
                 version="true"
                 use="true"
                 windowtitle="Docs API">
             <doctitle><![CDATA[<h1>hello ant Docs API</h1>]]></doctitle>
             <bottom><![CDATA[<i>${app.copyright}</i>]]></bottom>
             <tag name="todo" scope="all" description="To do:" />
         </javadoc>
    </target>

<!--
     ===================================================================
       Create the distribution that can run (Archive Tasks)
       主要是从各目录中把该copy的copy上
     ===================================================================
-->
   <target name="dist" depends="javadocs">
        <!--copy bin 执行文件 -->
        <copy todir="${dist.bin}">
            <fileset dir="${src.script}/"/>
        </copy>
        <copy todir="${dist.docs}">
            <fileset dir="${build.docs}/"/>
        </copy>
        <!-- copy lib 文件 -->
        <copy todir="${dist.lib}">
            <fileset dir="${build.lib}/"/>
        </copy>

    </target>
<!--
     ===================================================================
      Cleans everything(File Tasks)
      例如可以删除build中的文件,留给你发挥吧
     ===================================================================
-->

</project>

分享到:
评论
1 楼 jinimaiii 2008-08-06  

相关推荐

    ant build.xml例子

    这篇博客文章“ant build.xml例子”可能详细介绍了如何使用Ant来管理Java项目的构建过程。 `build.xml`文件是Ant的核心,它使用XML语法定义了一系列的任务(tasks),这些任务包含了构建过程中的各种操作,如编译源...

    ant build.xml编写

    《Ant build.xml构建详解》 在软件开发过程中,构建工具起着至关重要的作用,它能够自动化执行编译、测试、打包等任务。Apache Ant是Java领域广泛应用的一个构建工具,其核心在于一个名为`build.xml`的配置文件。...

    ANT-build.xml文件详解

    ### ANT-build.xml 文件详解 #### Ant 的概念及与 Make 的比较 Ant 是一款开源的 Java 构建工具,它的设计理念主要是解决 Make 工具在跨平台应用中存在的问题。对于熟悉 Linux 的用户而言,Make 命令作为一种项目...

    ant脚本-build.xml

    ant脚本例子,一个build.xml模板, 修改后直接运行。

    ant build 项目实例

    本篇将深入探讨“ant build 项目实例”,并结合提供的文件“build.xml”和“build_ODC.properties”来解析Ant构建过程中的关键知识点。 首先,`build.xml`是Ant构建文件,它是Ant执行任务的蓝图,用XML格式编写,...

    ant web项目的例子

    在构建web项目中用到的ant的build.xml的例子

    ant-installer.jar.zip

    运行`ant compile`或`ant jar`命令,Ant会根据build.xml中的指令执行相应的任务。 Ant还支持依赖管理。在描述中提到的"jar.zip包下载,依赖包",意味着Ant可以处理项目依赖的第三方库。例如,你可以使用`&lt;classpath&gt;...

    ant-1.7.1.jar.zip

    在Java开发中,Ant是一个基于XML的构建工具,它的主要任务是读取名为"build.xml"的配置文件,根据其中的指令执行各种构建任务,如编译源代码、打包、测试、部署等。Ant的工作方式是通过一系列的任务(Tasks)来完成...

    ant-1.6.5.jar

    Ant通过读取名为“build.xml”的XML文件来定义构建过程,该文件描述了各种任务及其依赖关系。 二、Ant 1.6.5版本特性 1. 支持JDK 1.3及以上:Ant 1.6.5兼容较早版本的Java运行环境,这使得它能够应用于广泛的项目...

    apache-ant-1.10.12-bin.tar.gz

    Apache Ant 是一个广泛使用的Java构建工具,它遵循XML格式的构建文件来定义任务,从而自动化构建过程,包括编译、打包、测试和部署等。在Java开发中,Ant以其灵活性和可扩展性著称,是许多项目管理和持续集成流程的...

    Ant工具build文件使用的简单示范

    本文将重点介绍一种经典的Java构建工具——Ant,以及如何通过编写`build.xml`文件来管理项目的构建过程。我们将通过一个简单的实例,探讨`clean`, `compile`, `run`, `jar`这四个关键操作。 Ant是由Apache软件基金...

    ant入门编写例子,非常简单实效哦

    通过一个简单的例子,学习者将理解Ant的基本用法,包括编写build.xml文件,配置和执行构建任务,以及在Eclipse中集成和管理Ant构建。这对于任何Java开发者来说都是必备的技能,因为它有助于自动化项目构建过程,提高...

    java_ant详解_例子

    Ant的核心是`build.xml`文件,这是一个XML文档,其中包含了构建过程的所有步骤和指令。通过这个文件,开发者可以指定源代码的位置、编译选项、依赖关系以及如何执行各种构建任务。下面我们将深入探讨Ant的一些关键...

    ant操作7zip压缩、解压 tar.gz

    在Ant中,build.xml是一个XML文档,定义了一系列的构建任务和目标。例如,你可以定义一个任务来压缩项目文件为tar.gz格式,或者解压接收到的tar.gz文件。 以下是一个简单的build.xml示例,包含了压缩和解压tar.gz...

    ant导出jar包例子

    在"ant导出jar包例子"中,`build.xml`文件可能包含如下内容: ```xml &lt;project name="TestAnt" default="create-jar" basedir="."&gt; &lt;property name="src.dir" value="src"/&gt; &lt;property name="build.dir" value=...

    ant自动打包编译android custom_rules和ant.properties文件

    其中,`Ant`是一个广泛使用的开源Java构建工具,它允许我们通过XML格式的构建文件(build.xml)来定义任务,实现自动化构建过程。本篇文章将深入探讨如何使用Ant自动打包编译Android应用,并重点介绍`custom_rules....

    ant安装文件+使用模板

    Ant的核心是`build.xml`文件,这是一个XML格式的脚本,定义了构建过程中的各种任务。以下是一些基本配置和使用方法: 1. **创建build.xml** - 新建一个名为`build.xml`的文件,这是Ant的配置文件。 - 在文件中...

    Android项目的Ant配置

    下面将详细解释Android项目的Ant配置及其关键文件`build.properties`和`build.xml`。 首先,`build.properties`文件是Ant构建系统中的配置文件,它存储了项目特定的属性,如版本信息、库依赖等。例如: ```...

    经典ant笔记.doc

    - 构建脚本是Ant的核心,通常是`build.xml`文件,用于描述项目的构建过程。 - 构建脚本采用XML格式,由`&lt;project&gt;`标签作为根节点。 - `&lt;target&gt;`标签定义了执行的一组任务集合,可以通过命令行指定执行哪个`...

    JBOSS用ANT部署.doc

    ANT是Apache项目的一个构建工具,它允许开发者通过XML配置文件来自动化构建、编译、测试和部署Java应用程序。本文将详细解释如何使用ANT来部署JBoss服务器上的EJB应用程序。 首先,我们需要了解ANT脚本的基本结构。...

Global site tag (gtag.js) - Google Analytics