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>
http://www.cnblogs.com/ungshow/archive/2008/12/30/1365249.html
分享到:
相关推荐
Java过滤器是Java Web开发中的一个重要概念,它主要用于在HTTP请求和响应的过程中对数据进行预处理或后处理。在这个小样例中,我们看到的是如何使用Java实现字符过滤和标签过滤,以及字符编码的转换。这在处理用户...
vue.js的filter定义的方式,已经简单的demo,自定义过滤器如何给文字加颜色
2. 使用Ant的任务和过滤器,如`<copy>`、`<filterchain>`和`<iconv>`。 3. 添加额外的Ant任务定义库,如`ant-contrib`。 4. 针对不同的需求,选择合适的编码转换方法,如使用Java I/O类或自定义Ant任务。 在实际...
FilterChainProxy会按顺序来调用这些filter,使这些filter能享用Spring Ioc的功能, CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 定义url比较前先转为小写 PATTERN_TYPE_APACHE_ANT 定义使用Apache ant的匹配模式
- `<copy>`:复制文件或目录,支持文件过滤器以选择性复制。 - `<delete>`:删除文件或目录。 - `<mkdir>`:创建目录。 - `<jar>`:打包Java类文件为JAR文件。 - `<junit>`:集成JUnit进行单元测试。 6. Ant...
6. **任务链(ChainOfResponsibility)**:Ant的设计模式中,有些任务如`FilterChain`采用了责任链模式,使得多个过滤器可以串联起来处理输入内容。 7. **依赖管理**:Ant虽然没有像Maven那样强大的依赖管理功能,...
- `excludeFilter`允许你提供一个排除过滤器文件,用于忽略某些已知的误报或不关心的警告。 ### 四、自定义FindBugs配置 你可以通过创建一个名为`findbugs-exclude.xml`的文件来排除某些FindBugs警告。这个文件...
6. **文件集和文件名过滤器**:Ant通过文件集来处理一组文件,1.9.2可能增强了文件选择和过滤的能力,使得开发者能更精确地控制哪些文件参与构建。 7. **ivy集成**:Ant 1.9.2与Apache Ivy的集成可能更加紧密,允许...
对于Gradle项目,可以在build.gradle文件中使用`implementation`或`compile`配置: ```groovy dependencies { implementation fileTree(dir: 'lib', include: ['*.jar']) implementation 'org.apache.ant:ant-...
安装完成后,可以在命令行中使用`ant`命令进行操作。 Ant的构建过程通过一个名为`build.xml`的文件来定义。在这个文件中,你可以定义各种任务(tasks),如`javac`用于编译Java源代码,`jar`用于创建JAR文件,而`...
- ****:复制文件或目录,支持过滤器链以修改复制内容。 - ****:删除文件或目录。 - ****:创建目录。 - ****:打包Java类文件到JAR文件。 - ****:从JAR文件中提取文件。 - ****:移动文件或目录,支持...
请注意,这个例子仅处理了.txt文件,如果需要转换其他类型的文件,可以调整`includes`属性或者添加更多的过滤器。此外,如果源代码中含有非ASCII字符,可能需要在转换前进行预处理,例如去除BOM,因为某些编辑器可能...
- `copy`: 复制文件或目录,支持过滤器链来处理文件内容。 - `delete`: 删除文件或目录。 - `mkdir`: 创建目录。 - `jar`: 打包Java类文件为JAR文件。 - `javadoc`: 生成Java文档。 - `exec`: 执行外部命令或程序。 ...
下面我们将详细探讨如何在Ant 3.x版本中使用Junit。 1. **安装与配置**:首先,你需要在项目中添加Ant和JUnit的依赖。这通常通过将它们的jar文件放入`lib`目录或在类路径(classpath)中指定来完成。确保Ant的bin...
3. **属性(Property)**:Ant允许定义和使用属性,这些属性可以在整个构建过程中被引用,以提供参数化构建的能力。例如,`<property name="src.dir" value="src/main/java"/>`定义了一个名为`src.dir`的属性。 4. ...
2. 自定义Filter:编写一个自定义过滤器,检查每个请求的源IP,并根据预设规则决定是否允许访问。 然后,我们转向**ANT打包**。ANT是Java项目常用的构建工具,用于自动化编译、测试和部署任务。创建ANT build.xml...
在这个例子中,web.xml会包含Struts2的过滤器配置,例如`org.apache.struts2.dispatcher.FilterDispatcher`或`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`。这些过滤器负责拦截HTTP...
本文将深入探讨AntDesign3.0.x版本的Axure Web端组件,以及如何在Axure中高效地使用这些组件。 首先,AntDesign3.0.x版本对原有组件进行了优化和更新,旨在提供更好的用户体验。这一版本包含了各种常见的Web界面...
`WEB-INF/web.xml`是Web应用的部署描述符,定义了Servlet、过滤器、监听器等组件及其配置。 通过执行`ant war`命令,Ant会按照`build.xml`中的配置执行相应的任务,最终生成一个名为`mywebapp.war`的WAR文件,这个...