`
流浪鱼
  • 浏览: 1682964 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ant的fileset元素

    博客分类:
  • ant
 
阅读更多

FileSet是一组文件,这些文件可以在基目录树下找到且与指定的PatternSets和Selectors匹配。FileSet的结构类似于如下:

1)<fileset dir="${server.src}">
<patternset/>
<Selector/>
</fileset>

 

2)patternset一般用作FileSet的子元素,用来帮助筛选文件。可以包含如下的子元素:include,exclude,includes,excludes,includesfile,excludesfile.

FileSet 中隐式地包含了一个patternset元素,所以可以在FileSet中直接包含patterset中的元素,例如<include>, <includesfile>, <exclude> and <excludesfile> 。

如下的patternset包含std子目录下的java文件,如果professional定义的话还包含prof下的java文件,但是不包含名字中包含Test的文件。
<patternset id="sources">
<include name="std/**/*.java"/>
<include name="prof/**/*.java" if="professional"/>
<exclude name="**/*Test*"/>
</patternset>

 

3)Selector一般用作FileSet的子元素,用来帮助筛选文件。

常用的核心的selector有:
<contains> - 用来选择包含指定字符串的文件
<date> - 用来选择在某个特定时间前或后修改的文件
<depend> - Select files that have been modified more recently than equivalent files elsewhere
<depth> - 用来选择指定目录深度的文件
<different> - Select files that are different from those elsewhere
<filename> - 用来选择文件名匹配特定模式的文件。等价于include和exclude的patternset。
<present> - 用来选择在某个位置存在或不存在的文件
<containsregexp> - 用来选择匹配指定正则表达式的文件
<size> - 用来选择比指定size大或小的文件
<type> - Select files that are either regular files or directories.
<modified> - Select files if the return value of the configured algorithm is different from that stored in a cache.
<signedselector> - Select files if they are signed, and optionally if they have a signature of a certain name.
<scriptselector> - Use a BSF or JSR 223 scripting language to create your own selector
<readable> - 选择有readable属性的文件
<writable> - 选择有writable属性的文件

例如选择包含script的所有的html文件
<fileset dir="${doc.path}" includes="**/*.html">
<contains text="script" casesensitive="no"/>
</fileset>

例如选择所有在January1,2001前修改的JAR文件
<fileset dir="${jar.path}" includes="**/*.jar">
<date datetime="01/01/2001 12:00 AM" when="before"/>
</fileset>

例如选择所有满足正则表达式的txt文件
<fileset dir="${doc.path}" includes="*.txt">
<containsregexp expression="[4-6]\.[0-9]"/>
</fileset>

如下的selector与patternset等价:
<fileset dir="${server.src}" casesensitive="yes">
<filename name="**/*.java"/>
<not>
<filename name="**/*Test*"/>
</not>
</fileset>
等价于
<fileset dir="${server.src}" casesensitive="yes">
<filename name="**/*.java"/>
<filename name="**/*Test*" negate="true"/>
</fileset>
等价于
<fileset dir="${server.src}" casesensitive="yes">
<include name="**/*.java"/>
<exclude name="**/*Test*"/>
</fileset>


selector容器可以包含其他的selector,常用的selector容器有:
<and>
<contains>
<custom>
<date>
<depend>
<depth>
<filename>
<majority>
<none>
<not>
<or>
<present>
<selector>
<size>


例如选择比4096bytes大且从上个millenium没有更新的JAR文件
<fileset dir="${dist}" includes="**/*.jar">
<and>
<size value="4" units="Ki" when="more"/>
<date datetime="01/01/2001 12:00 AM" when="before"/>
</and>
</fileset>

分享到:
评论

相关推荐

    ant 元素介绍XXOO

    &lt;fileset dir="src"&gt; **/*.java"/&gt; **/Test*.java"/&gt; &lt;/fileset&gt; ``` 这将包含所有的`.java`文件,但排除名字以`Test`开头的文件。 以上只是Ant中部分核心元素的简要介绍,实际上Ant提供了丰富的元素和属性,允许...

    Ant权威指南(ant 学习)

    数据类型是可重用的配置元素,如文件集(Fileset)和路径(Path);条件则用于控制流程,比如检查文件是否存在。 三、Ant脚本 Ant使用XML格式编写构建脚本,这种格式使得脚本易于理解和维护。一个基本的Ant脚本包含...

    ant文档集合(自己学习ant时的资料)

    7. **文件集(Fileset)** 文件集是Ant处理一组文件的方式,可以指定目录、文件名模式等,用于指定需要操作的文件。 8. **Ant的最佳实践** - 分离任务:每个任务应尽可能独立,方便复用和维护。 - 层次化构建:...

    如何在Ant中引入第三方Jar包

    总结,引入第三方Jar包到Ant项目中主要涉及`&lt;classpath&gt;`、`&lt;pathelement&gt;`、`&lt;fileset&gt;`、`&lt;path&gt;`以及可能的远程仓库管理。正确配置这些元素,确保JVM在编译和运行时能找到所需的所有依赖,从而保证项目的顺利执行...

    ant lib ant 所有lib包

    在Ant的构建脚本中,我们可以使用`&lt;taskdef&gt;`元素来引入Ant Contrib中的任务,这样我们就可以在脚本中使用这些扩展任务。例如,要使用`for`任务,我们需要在脚本开头定义任务: ```xml ...

    Ant 编译 多目录demo

    在Ant中,我们可以通过`&lt;fileset&gt;`元素来指定多个源代码目录。例如,如果项目有两个源代码目录`src/main/java`和`src/test/java`,我们可以这样配置: ```xml &lt;fileset dir="src/main/java"&gt; **/*.java"/&gt; &lt;/...

    Ant 1.9.1 学习笔记

    定义路径时,可以使用通配符和文件集(fileset),这对于管理文件和目录非常有帮助。在定义任务时,可以利用Ant提供的大量内置功能,如拷贝文件、压缩解压缩、生成文档等,也可以扩展自定义任务以满足特殊需求。 在...

    ant工具和ant教程

    此外,Ant支持使用文件集(fileset)来指定一组文件,这对于处理大量文件非常有用。例如,你可以创建一个文件集来包含所有的Java源代码,然后用它来执行编译任务。 标签"java"表明Ant主要与Java开发相关,但Ant也...

    Ant入门-ant入门pdf

    6. **文件集(Filesets)**:解释如何选择一组文件进行操作,如`&lt;fileset&gt;`元素和相关的`include`、`exclude`模式。 7. **宏定义(Macros)**:说明如何创建自定义任务或任务集合,以提高代码复用性。 8. **脚本支持**...

    Java Ant build详解

    它可以包含`pathelement`、`fileset`等子元素,用于指定JAR文件、目录或其他资源的位置。 6. **fileset** 元素:用于定义一组文件,通常根据文件名、目录或日期范围进行筛选。`fileset`在`&lt;include&gt;`和`&lt;exclude&gt;`...

    使用ant 元件所用的 jar 包

    在这个例子中,`destfile`属性指定了输出的JAR文件,`fileset`定义了要包含的文件(这里是编译后的类文件),而`manifest`部分则添加了主类的信息,使得JAR文件可以作为可执行程序运行。 在描述中提到的"ant-jar...

    apache ANT 源代码

    4. **Fileset**:文件集是一种选择文件和目录的方式,它可以包含通配符,如`**/*.java`表示所有子目录下的Java源文件。Fileset常用于指定任务操作的文件范围。 5. **Dependency Management**:Ant能够处理任务间的...

    apache-ant-1.5.2

    它们通过`&lt;fileset&gt;`元素定义,并可以用包含和排除模式来过滤文件。 5. **路径(Path)**:Ant中的路径元素可以用来表示类路径或源路径,它可以包含多个文件集和单个文件。 6. **条件(Condition)**:条件元素...

    ant第三部分源码

    5. **文件集(FileSet)**:Ant提供了对文件和目录操作的支持,文件集(FileSet)是其中的一种,它可以指定一组文件,常用于拷贝、删除等操作。文件集通过`DirSet`和`FileList`等类实现。 6. **任务链...

    ant工具使用指南ant工具使用指南

    2. jar:创建JAR文件,通过manifest属性指定清单文件,fileset元素用来包含需要打包的类。 3. delete:删除文件或目录,使用file或dir属性指定路径。 4. copy:复制文件或目录,可以使用todeldir属性指定目标位置。 ...

    java ant 详细解析文档

    &lt;fileset dir="${src1}"&gt; *.jar" /&gt; &lt;/fileset&gt; ``` ##### 2.2 使用外部配置文件 为了更好地组织和管理这些property,可以将它们集中存放在外部的`.properties`文件中。这种方式不仅可以提高可维护性,还...

    ant脚本通用模板 ant脚本通用模板

    - **`fileset`**: 用于指定包含在类路径中的文件集。 - **`include`**: 指定包含哪些文件。 - **`pathelement`**: 将指定路径添加到类路径中。 ##### 4. `&lt;target&gt;`元素 表示一个构建目标,可以包含一系列的任务...

    ant build.xml例子

    5. **文件集(Filesets)**:在处理大量文件时,Ant提供了文件集的概念,它可以用来指定一组文件,如`&lt;fileset dir="${src.dir}" includes="**/*.java"/&gt;`会包含所有源代码目录下的.java文件。 6. **类路径...

    maven-ant-tasks-2.1.3.zip

    &lt;fileset refid="maven.fileset"/&gt; ``` 在这个例子中,`pom.xml` 是项目的 POM 文件,`dependency` 任务会解析 POM 文件中的依赖,并将它们下载到指定的目录(如 `lib`)。 除了依赖管理,Maven Ant Tasks 还...

Global site tag (gtag.js) - Google Analytics