您的位置:首页 > 其它

Ant数据类型和属性

2012-11-08 16:52 260 查看
Ant数据类型概述

构建一个典型的Java工程,我们一般都需要处理下面这些内容:文件(files)和路径(paths),比如说,类路径(classpaths).

这将为我们引导出以下这些Ant数据类型:

* 文件集(fileset)

* 路径(path)

* 以及其它...

路径(Paths)概述

路径(path)可以在使用<javac>任务执行编译工作的时候创建,然后在之后的<java>任务中进行重复的使用。

类路径(Classpath)很容易地并紧紧的控制好。

这将大大的减轻在编译和执行时对classpath配置问题。


文件集(Filesets)概述

Fileset是一个通用的实体,它可以来控制下面这些任务:编译(compiling),打包(packaging),拷贝(copying),删除(deleting),和文档(documenting).

Fileset一个文件组,如下这种形式:

[code]
<fileset dir="src"
         includes="**/*.java"
         id="source.fileset"/>

<fileset dir="src"<br/> includes="**/*.java"<br/> id="source.fileset"/><br/>

* dir是一个强制的属性,用来指定一个文件集的基文件夹--在这里是src文件集里的文件可以是从这一个基文件夹下的文件中查找。

* includes属性显示了基文件夹下的文件如何被包含。

* id属性是一个引用,你可以在稍后的过程中,通过引用来使用对应的文件集。

* include -- 包含 exclude -- 排除

例如,拷贝代码文件到另一个文件夹,你可以使用下面的方式,看好这里在<copy>任务中使用了id="source.fileset"

[code]
<copy todir="backup">
    <fileset refid="source.fileset"/>
</copy>

<copy todir="backup"><br/> <fileset refid="source.fileset"/><br/></copy><br/>

fileset.xml

[code]
<?xml version="1.0"?>
<project name="fileset">
    <fileset dir="src"
         includes="**/*.java"
         id="source.fileset"/>

    <target name="cc">
        <copy todir="backup">
            <fileset refid="source.fileset"/>
        </copy>
    </target>
</project>

<?xml version="1.0"?><br/><project name="fileset"><br/> <fileset dir="src"<br/> includes="**/*.java"<br/> id="source.fileset"/><br/><br/> <target name="cc"><br/> <copy todir="backup"><br/> <fileset refid="source.fileset"/><br/> </copy><br/> </target><br/></project><br/>

看图:


Ant属性(Properties)概述

* Ant的属性处理机制允许使用任何一种字符串指定的项来参数化构建文件。

* 例如,我们可以通过下面的方式来指定在构建的过程中使用一个第三方的类库(一个jar文件):

>ant -Dstruts.jar=/home/ant/newstruts/struts.jar

* 如上所示-D后的struts.jar代表了一个Ant中的属性,它指定的值是"/home/ant/newstruts/struts.jar"

* 在构建文件中可以通过一种特殊的语法规则${struts.jar}来引用这个属性

* Ant属性的关键的特点是:不可改变(immutability):

- 一旦一个属性指定了,它就不可以被改变了。

fileset.xml

[code]
<?xml version="1.0"?>
<project name="fileset">
    <fileset dir="src"
         includes="**/*.java"
         id="source.fileset"/>

    <target name="cc">
        <copy todir="backup">
            <fileset refid="source.fileset"/>
        </copy>
    </target>

    <echo>${name}</echo>
</project>

<?xml version="1.0"?><br/><project name="fileset"><br/> <fileset dir="src"<br/> includes="**/*.java"<br/> id="source.fileset"/><br/><br/> <target name="cc"><br/> <copy todir="backup"><br/> <fileset refid="source.fileset"/><br/> </copy><br/> </target><br/><br/> <echo>${name}</echo><br/></project><br/>

看图:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: