<?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 Web开发中的一个重要概念,它主要用于在HTTP请求和响应的过程中对数据进行预处理或后处理。在这个小样例中,我们看到的是如何使用Java实现字符过滤和标签过滤,以及字符编码的转换。这在处理用户...
2. 使用Ant的任务和过滤器,如`<copy>`、`<filterchain>`和`<iconv>`。 3. 添加额外的Ant任务定义库,如`ant-contrib`。 4. 针对不同的需求,选择合适的编码转换方法,如使用Java I/O类或自定义Ant任务。 在实际...
- `<copy>`:复制文件或目录,支持文件过滤器以选择性复制。 - `<delete>`:删除文件或目录。 - `<mkdir>`:创建目录。 - `<jar>`:打包Java类文件为JAR文件。 - `<junit>`:集成JUnit进行单元测试。 6. Ant...
6. **文件集和文件名过滤器**:Ant通过文件集来处理一组文件,1.9.2可能增强了文件选择和过滤的能力,使得开发者能更精确地控制哪些文件参与构建。 7. **ivy集成**:Ant 1.9.2与Apache Ivy的集成可能更加紧密,允许...
- `excludeFilter`允许你提供一个排除过滤器文件,用于忽略某些已知的误报或不关心的警告。 ### 四、自定义FindBugs配置 你可以通过创建一个名为`findbugs-exclude.xml`的文件来排除某些FindBugs警告。这个文件...
6. **任务链(ChainOfResponsibility)**:Ant的设计模式中,有些任务如`FilterChain`采用了责任链模式,使得多个过滤器可以串联起来处理输入内容。 7. **依赖管理**:Ant虽然没有像Maven那样强大的依赖管理功能,...
对于Gradle项目,可以在build.gradle文件中使用`implementation`或`compile`配置: ```groovy dependencies { implementation fileTree(dir: 'lib', include: ['*.jar']) implementation 'org.apache.ant:ant-...
虽然Ant在Java社区中广泛使用,但随着Maven的出现,两者在功能和使用上有所区别。Maven通过约定优于配置的原则简化了项目结构,并提供了丰富的插件系统,但Ant仍然因其灵活性和可扩展性在某些场景下更受欢迎。 6. ...
安装完成后,可以在命令行中使用`ant`命令进行操作。 Ant的构建过程通过一个名为`build.xml`的文件来定义。在这个文件中,你可以定义各种任务(tasks),如`javac`用于编译Java源代码,`jar`用于创建JAR文件,而`...
开发者可以通过这些过滤器对图像进行一系列复杂的操作,比如模糊、锐化、边缘检测等。 在开发过程中,`Manifest`文件通常包含了关于Java应用程序的元数据,如主类名和依赖库。`build.xml`是Ant构建工具的配置文件,...
虽然Ant在早期Java开发中广泛使用,但随着Maven和Gradle的出现,它们凭借更强大的功能和更简洁的配置逐渐取代了Ant的部分地位。然而,Ant仍然是某些场景下的合适选择,特别是在处理旧项目或需要高度定制的构建过程时...
下面我们将详细探讨如何在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. ...
1. **FileSet和Filter Chains**:Ant的FileSet组件可以用来指定一组文件,然后使用FilterChains在这些文件上应用过滤器,其中包括使用Apache ORO的正则表达式进行文本替换或提取。 2. **Copy Task**:在复制文件时...
2. 自定义Filter:编写一个自定义过滤器,检查每个请求的源IP,并根据预设规则决定是否允许访问。 然后,我们转向**ANT打包**。ANT是Java项目常用的构建工具,用于自动化编译、测试和部署任务。创建ANT build.xml...
Ant API允许开发者在Java程序中直接调用Ant的功能,创建自定义任务或在非命令行环境中使用Ant。主要的API类包括: - `Project`: 表示整个构建项目的上下文,包含所有属性、目标、任务等信息。 - `Task`: 表示一个...
Apache Ant是一个广泛使用的Java构建工具,它提供了强大的灵活性和可扩展性,能够帮助开发者执行各种任务,包括文件编码格式的转换。本篇文章将深入探讨如何使用Ant完成这种转化。 首先,让我们了解编码格式的基础...
- **属性(Property)**:用于存储值,可以在整个构建过程中使用,通过`<property>`元素定义。 - **路径(Path)**:定义类路径或源代码路径,通过`<path>`元素创建。 3. **Ant的常用任务** - **编译任务...
本篇主要介绍如何使用Ant来进行WAR(Web Application Archive)文件的打包,这在Java Web应用的发布和部署过程中至关重要。 首先,我们需要了解什么是WAR文件。WAR文件是Java Web应用程序的标准打包格式,它包含...