`
lion222
  • 浏览: 125184 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

java Ant中过滤器的使用

阅读更多

<?xml version="1.0"?>

<project name="access" default="show" basedir=".">
    
<!--
        将一组需要过滤的值写入一个过滤文件,过滤文件的
        格式与一般的属性文件相同,如下:
        month=12
        year=2008
    
-->
    
<filter filtersfile="filter.properties"/> 

    
<!--
        定义一个过滤器
    
-->
    
<filter token="time" value="14时7分"/>

    
<target name="show">
        
<mkdir dir="dest"/>
        
<!-- 在copy中添加filtering属性启动过滤器 -->
        
<copy todir="dest" filtering="true">
            
<fileset dir="src"/>
        
</copy>
    
</target>
</project>

该过滤器的作用就是将src下面的文件复制到dest目录下面.而且将src下面,凡是包含@year@,@month@,@time@的字符进行替换(是指src文件夹下面文件中的内容,不是指文件名)。另外还可以使用filterset标签,它也可以引用外部filter文件,也可以在内容指定一组 filter,如下:

 

与单纯地使用filter相比,filterset的功能要强大一点,使用得被替换的字符不仅限制于以@开始和结束的变量了,你可以自己定义(使用begintoken和endtoken)。

 

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
  
<filterset>
    
<filter token="DATE" value="${TODAY}"/>
  
</filterset>
</copy>

<!-- 自定义变量的格式 -->
<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
  
<filterset begintoken="%" endtoken="*">
    
<filter token="DATE" value="${TODAY}"/>
  
</filterset>
</copy>

<!-- 使用外部的过滤定义文件 -->
<copy toDir="${dist.dir}/docs">
  
<fileset dir="${build.dir}/docs">
    
<include name="**/*.html">
  
</fileset>
  
<filterset begintoken="%" endtoken="*">
    
<filtersfile file="${user.dir}/dist.properties"/>
  
</filterset>
</copy>

<!-- 使用引用方式,重复利用过滤集 -->
<filterset id="myFilterSet" begintoken="%" endtoken="*">
  
<filter token="DATE" value="${TODAY}"/>
</filterset>

<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
  
<filterset refid="myFilterSet"/>
</copy>
分享到:
评论

相关推荐

    Java过滤器,字符过滤,标签过滤

    Java过滤器是Java Web开发中的一个重要概念,它主要用于在HTTP请求和响应的过程中对数据进行预处理或后处理。在这个小样例中,我们看到的是如何使用Java实现字符过滤和标签过滤,以及字符编码的转换。这在处理用户...

    Ant 批处理 Unicode转码

    2. 使用Ant的任务和过滤器,如`&lt;copy&gt;`、`&lt;filterchain&gt;`和`&lt;iconv&gt;`。 3. 添加额外的Ant任务定义库,如`ant-contrib`。 4. 针对不同的需求,选择合适的编码转换方法,如使用Java I/O类或自定义Ant任务。 在实际...

    Ant中文学习手册2

    - `&lt;copy&gt;`:复制文件或目录,支持文件过滤器以选择性复制。 - `&lt;delete&gt;`:删除文件或目录。 - `&lt;mkdir&gt;`:创建目录。 - `&lt;jar&gt;`:打包Java类文件为JAR文件。 - `&lt;junit&gt;`:集成JUnit进行单元测试。 6. Ant...

    Apache-ant-1.9.2

    6. **文件集和文件名过滤器**:Ant通过文件集来处理一组文件,1.9.2可能增强了文件选择和过滤的能力,使得开发者能更精确地控制哪些文件参与构建。 7. **ivy集成**:Ant 1.9.2与Apache Ivy的集成可能更加紧密,允许...

    网络上搜集的Findbugs在Ant下的配置方法

    - `excludeFilter`允许你提供一个排除过滤器文件,用于忽略某些已知的误报或不关心的警告。 ### 四、自定义FindBugs配置 你可以通过创建一个名为`findbugs-exclude.xml`的文件来排除某些FindBugs警告。这个文件...

    ant第三部分源码

    6. **任务链(ChainOfResponsibility)**:Ant的设计模式中,有些任务如`FilterChain`采用了责任链模式,使得多个过滤器可以串联起来处理输入内容。 7. **依赖管理**:Ant虽然没有像Maven那样强大的依赖管理功能,...

    apache-ant-zip-2.3.jar.zip

    对于Gradle项目,可以在build.gradle文件中使用`implementation`或`compile`配置: ```groovy dependencies { implementation fileTree(dir: 'lib', include: ['*.jar']) implementation 'org.apache.ant:ant-...

    Ant 文档

    虽然Ant在Java社区中广泛使用,但随着Maven的出现,两者在功能和使用上有所区别。Maven通过约定优于配置的原则简化了项目结构,并提供了丰富的插件系统,但Ant仍然因其灵活性和可扩展性在某些场景下更受欢迎。 6. ...

    ant打zip包简单demo

    安装完成后,可以在命令行中使用`ant`命令进行操作。 Ant的构建过程通过一个名为`build.xml`的文件来定义。在这个文件中,你可以定义各种任务(tasks),如`javac`用于编译Java源代码,`jar`用于创建JAR文件,而`...

    Java图像处理类库 Java Image Filters

    开发者可以通过这些过滤器对图像进行一系列复杂的操作,比如模糊、锐化、边缘检测等。 在开发过程中,`Manifest`文件通常包含了关于Java应用程序的元数据,如主类名和依赖库。`build.xml`是Ant构建工具的配置文件,...

    Ant 脚本详解

    虽然Ant在早期Java开发中广泛使用,但随着Maven和Gradle的出现,它们凭借更强大的功能和更简洁的配置逐渐取代了Ant的部分地位。然而,Ant仍然是某些场景下的合适选择,特别是在处理旧项目或需要高度定制的构建过程时...

    5_ant_junit介绍(基于3的版本)

    下面我们将详细探讨如何在Ant 3.x版本中使用Junit。 1. **安装与配置**:首先,你需要在项目中添加Ant和JUnit的依赖。这通常通过将它们的jar文件放入`lib`目录或在类路径(classpath)中指定来完成。确保Ant的bin...

    apache_ant

    3. **属性(Property)**:Ant允许定义和使用属性,这些属性可以在整个构建过程中被引用,以提供参数化构建的能力。例如,`&lt;property name="src.dir" value="src/main/java"/&gt;`定义了一个名为`src.dir`的属性。 4. ...

    ant-apache-oro-1.6.5.jar.zip

    1. **FileSet和Filter Chains**:Ant的FileSet组件可以用来指定一组文件,然后使用FilterChains在这些文件上应用过滤器,其中包括使用Apache ORO的正则表达式进行文本替换或提取。 2. **Copy Task**:在复制文件时...

    SpringMVC 多版本接口/IP访问控制/ANT打包发布到LINUX

    2. 自定义Filter:编写一个自定义过滤器,检查每个请求的源IP,并根据预设规则决定是否允许访问。 然后,我们转向**ANT打包**。ANT是Java项目常用的构建工具,用于自动化编译、测试和部署任务。创建ANT build.xml...

    ANT api(chm)

    Ant API允许开发者在Java程序中直接调用Ant的功能,创建自定义任务或在非命令行环境中使用Ant。主要的API类包括: - `Project`: 表示整个构建项目的上下文,包含所有属性、目标、任务等信息。 - `Task`: 表示一个...

    使用ANT把一种编码格式转化为另外一种编码格式

    Apache Ant是一个广泛使用的Java构建工具,它提供了强大的灵活性和可扩展性,能够帮助开发者执行各种任务,包括文件编码格式的转换。本篇文章将深入探讨如何使用Ant完成这种转化。 首先,让我们了解编码格式的基础...

    ant使用手册

    - **属性(Property)**:用于存储值,可以在整个构建过程中使用,通过`&lt;property&gt;`元素定义。 - **路径(Path)**:定义类路径或源代码路径,通过`&lt;path&gt;`元素创建。 3. **Ant的常用任务** - **编译任务...

    用ant进行war打包

    本篇主要介绍如何使用Ant来进行WAR(Web Application Archive)文件的打包,这在Java Web应用的发布和部署过程中至关重要。 首先,我们需要了解什么是WAR文件。WAR文件是Java Web应用程序的标准打包格式,它包含...

Global site tag (gtag.js) - Google Analytics