`

Ant中过滤器的使用

    博客分类:
  • 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)。

 

复制代码
<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实现字符过滤和标签过滤,以及字符编码的转换。这在处理用户...

    vue自定义过滤器,例如给文字加颜色

    vue.js的filter定义的方式,已经简单的demo,自定义过滤器如何给文字加颜色

    Ant 批处理 Unicode转码

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

    Spring 各种过滤器配置大全

    FilterChainProxy会按顺序来调用这些filter,使这些filter能享用Spring Ioc的功能, CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 定义url比较前先转为小写 PATTERN_TYPE_APACHE_ANT 定义使用Apache ant的匹配模式

    Ant中文学习手册2

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

    ant第三部分源码

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

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

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

    Apache-ant-1.9.2

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

    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打zip包简单demo

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

    Ant 文档

    - ****:复制文件或目录,支持过滤器链以修改复制内容。 - ****:删除文件或目录。 - ****:创建目录。 - ****:打包Java类文件到JAR文件。 - ****:从JAR文件中提取文件。 - ****:移动文件或目录,支持...

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

    请注意,这个例子仅处理了.txt文件,如果需要转换其他类型的文件,可以调整`includes`属性或者添加更多的过滤器。此外,如果源代码中含有非ASCII字符,可能需要在转换前进行预处理,例如去除BOM,因为某些编辑器可能...

    Ant 脚本详解

    - `copy`: 复制文件或目录,支持过滤器链来处理文件内容。 - `delete`: 删除文件或目录。 - `mkdir`: 创建目录。 - `jar`: 打包Java类文件为JAR文件。 - `javadoc`: 生成Java文档。 - `exec`: 执行外部命令或程序。 ...

    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. ...

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

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

    Struts2官方例子1(Ant版的)

    在这个例子中,web.xml会包含Struts2的过滤器配置,例如`org.apache.struts2.dispatcher.FilterDispatcher`或`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`。这些过滤器负责拦截HTTP...

    AntDesign3.0.x_Axure Web端组件_完整版.zip

    本文将深入探讨AntDesign3.0.x版本的Axure Web端组件,以及如何在Axure中高效地使用这些组件。 首先,AntDesign3.0.x版本对原有组件进行了优化和更新,旨在提供更好的用户体验。这一版本包含了各种常见的Web界面...

    用ant进行war打包

    `WEB-INF/web.xml`是Web应用的部署描述符,定义了Servlet、过滤器、监听器等组件及其配置。 通过执行`ant war`命令,Ant会按照`build.xml`中的配置执行相应的任务,最终生成一个名为`mywebapp.war`的WAR文件,这个...

Global site tag (gtag.js) - Google Analytics