`
liyixing1
  • 浏览: 958875 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

文件移动或者复制的时候完成文件中的文本替换。实现antx功能

 
阅读更多
filterset DataType
ant1.4支持。定义一组过滤器。这些过滤器由filter任务实现。将在文件移动或者复制的时候完成文件中的文本替换。
由filterset元素表示。可以作为copy或者move任务中的内容出现或者作为目标级构建文件出现(作为project元素的子元素出现)
属性
beginoken,对于嵌套过滤器所搜索的记号。这是标识其开始的字符串。默认@
endtoken,对于嵌套过滤器所搜索的记号。这是标识其结束的字符串。默认@
id,此过滤器的唯一标识符。
refid,对构建文件中某处定义的一个过滤器的引用。

filterset还可以包含以下子元素
0-N个filter
token必须,指定要替换的记号,不包括定界符。如果此过滤器要替换@VERSION@,则将VERSION作为此属性值。

value必须,指定遇到记号时的替换文本。

0-N个<filtersfile>
每个元素指定一个java特性文件,由此可加载另外的过滤器。此文件格式是每一行一个记号,其后面为一个冒号(;)或者等于号(=)。再后面是一个值。
属性
<!-- 使用外部的过滤定义文件 -->
<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>


file必须,包含过滤器的特性文件的文件名。


<?xml version="1.0" encoding="utf-8"?>
<project name="DataType 测试" default="run" basedir=".">
<patternset id="copyFiles">
<include name="**/*.txt" />
<exclude name="build/*.*" unless="includetests" />
</patternset>

<target name="run">
<echo message="开始" />
<tstamp>
<format property="starttime" pattern="yyyy-MM-dd hh:mm:ss" />
</tstamp>
<echo message="时间:${starttime}" />

<copy todir="build" filtering="true">
<fileset dir=".">
<patternset refid="copyFiles" />
</fileset>

<filterset begintoken="%" endtoken="!">
<filter token="BUILD_DATE" value="${starttime}" />
<filter token="COPYRIGHT" value="李义星" />
</filterset>
</copy>

<echo message="结束" />
<tstamp>
<format property="endtime" pattern="yyyy-MM-dd hh:mm:ss" />
</tstamp>
<echo message="时间:${endtime}" />
</target>
</project>
<!--
<filelist id="needFiles" dir="." files="1.txt, 2.txt, 3.txt" />
<filelist id="moreFiles" dir="." files="4.txt" />

<patternset id="copyFiles">
<include name="**/*.txt" />
<exclude name="**/*t.txt" unless="includetests" />
</patternset>
<target name="run">
<echo message="开始" />
<copy todir="copy">
<fileset dir=".">
<patternset refid="copyFiles" />
</fileset>
</copy>
<tstamp />
<echo message="时间:${TSTAMP}" />
<echo message="结束" />
</target>
-->
<!--
<property name="run.dir" value="bin" />
<property name="result" value="Family Tree.html" />
<property environment="env" />
<property name="JAVA_HOME" value="${env.JAVA_HOME}" />

<path id="project.class.path">
<pathelement location="${run.dir}" />
</path>

<target name="clean">
<delete file="${result}" />
</target>

<target name="run" description="运行">
<echo message="开始运行" />
<java fork="true" classname="test.Test" failonerror="true">
<arg line="-IN test" />
<arg file="build.xml" />
<arg value="to to to" />
<arg path="build.xml;/build.xml" />
<classpath refid="project.class.path" />
</java>

<exec executable="test.bat">
<env key="JAVA_HOME" value="${JAVA_HOME}" />
</exec>

<echo message="运行结束" />
<tstamp />
<echo message="时间:${TSTAMP}" />
</target>
-->
<!--
<target name="prepare">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes}" />
</target>

<target name="clean" description="删除build目录">
<delete dir="${build.dir}" />
</target>

<target name="compile" description="编译" depends="prepare">
<javac srcdir="${src.dir}" destdir="${build.classes}" />
</target>

<target name="jar" description="打包" depends="prepare">
<echo message="${debug.flag}" />
</target>

<target name="all" description="所有操作,执行顺序是:clean, compile, jar" depends="clean, compile, jar">
<javac srcdir="${src.dir}" destdir="${build.classes}" />
</target>-->

1.txt
%BUILD_DATE!
%COPYRIGHT!

拷贝后
2011-05-14 08:51:32
李义星
上面的copy任务的filtering设置为true,以确保filter开启。


<!--配置文件properties的antx功能-->
<copy todir="${build.classes}/com/superschool/resource/spring/properties/jdbc">
<fileset dir="config">
<include name="jdbc.properties" />
</fileset>

<!--定义拷贝替换过滤器-->
<filterset begintoken="${" endtoken="}">
<filtersfile file="${user.home}/${projectName}/antx.properties" />
</filterset>
</copy>

这里会报错:
BUILD FAILED
E:\java\superschool\build.xml:82: Syntax error in property: ${
因为在
<filterset begintoken="${" endtoken="}">
这里的${会被ant解析成了特性。
解决方案是
<!--在前面定义了一个前缀属性->>
<property name="begintoken" value="$" />

<!--配置文件properties的antx功能-->
<copy todir="${build.classes}/com/superschool/resource/spring/properties/jdbc">
<fileset dir="config">
<include name="jdbc.properties" />
</fileset>

<!--定义拷贝替换过滤器,这里使用前缀属性读取-->
<filterset begintoken="${begintoken}{" endtoken="}">
<filtersfile file="${user.home}/${projectName}/antx.properties" />
</filterset>
</copy>
分享到:
评论

相关推荐

    AntX 基础配置和入门指南

    - **构建 AntX**:运行`build.bat`或`build.sh`脚本,完成后会在`dist/antx`目录下生成AntX的可执行文件。 - **环境变量设置**:设置`ANTX_HOME`环境变量指向`dist/antx`目录,并将`$ANTX_HOME/bin`添加到`PATH`...

    idea中.properties文件中文显示乱码问题的解决 文件中文乱码1

    在开发Java应用时,我们经常会遇到配置文件,如`.properties`文件,用于存储应用程序的配置信息。这些文件可能包含中文字符,但在某些情况下,使用IntelliJ IDEA打开这些文件时可能会出现中文乱码的问题。这主要是...

    antx-autoexpand-1.0.10-sources.jar

    官方版本,亲测可用

    antx-autoconfig-1.0.10.jar

    官方版本,亲测可用

    springboot-antx-demo:springboot项目使用antx Demo

    antx是阿里的项目管理方面的工具,这里主要用到的是其资源替换方面的功能,非常好用 在JAR中,只是包含代码即可,所有的配置信息,可以之后根据环境,进行方便的替换 运行 ./ antx.sh 可以查看依赖中的springboot-...

    Debug时修改代码能即时生效.

    为了解决这个问题,现在可以使用万能插件 Direct Clark Error VM(简称 DCEVM),它可以直接替换 JVM 中的类,从而实现热部署。DCEVM 支持 JDK1.6 以上版本,目前只支持 Eclipse,IDEA 暂时还没有找到完美解决方案。...

    基于vue2.x+antdesign+antv x6实现的流程图编辑器.zip

    在本项目中,AntV X6被用来实现流程图的绘制和编辑功能。 Vue2.x与Ant Design Vue的结合,使得开发者能够利用Vue的声明式渲染和组件化特性,结合Ant Design Vue的UI组件,快速搭建出用户界面。而AntV X6的引入,则...

    antx-autoconfig-1.1-sources.jar

    官方版本,亲测可用

    antx-autoconfig-1.1.jar

    官方版本,亲测可用

    vue3+antv x6+tsx 制作自定义流程图

    在实现自定义拖拉组件时,AntV X6提供了强大的事件系统和图形操作API,可以监听鼠标或触摸事件,实现节点和边的拖放功能。通过自定义图形模型,我们可以创建具有特定形状和样式的节点,并允许用户自由调整它们的位置...

    java读取.properties配置信息

    在Java编程中,`.properties`文件是用于存储配置信息的标准格式,这些信息通常包含应用程序运行时所需的设置。`.properties`文件以键值对的形式组织,其中键和值由等号分隔,例如`key=value`。Java提供了内置的`...

    基于Vue3+ts+AntV X6实现的流程图编辑器

    基于Vue3+ts+element-plus+AntV X6实现的流程图编辑器,框架核心功能已经搭好,组态化呈现,自定义节点、属性绑定、样式调整等,采用pinia统一管理各个属性,根据自己需求在此基础上自定义调整修改添加等,最终可...

    autoconfig

    标题中的"autoconfig"通常指的是Linux系统中的自动化配置工具,它在开源软件编译构建过程中起着关键作用。Linux下的`autoconfig`是基于`autoconf`和`automake`等工具的一套流程,用于自动检测系统特性并生成相应的...

    基于Vue3+ts+element-plus+AntV X6实现的流程图编辑器源码

    在本项目中,"基于Vue3+ts+element-plus+AntV X6实现的流程图编辑器源码",开发者采用了一系列现代前端技术构建了一个功能丰富的流程图编辑工具。让我们详细了解一下这些关键技术及其在项目中的应用。 首先,Vue3是...

    antx-autoexpand-1.1.jar

    官方版本,亲测可用

    antx-autoexpand-1.0.10.jar

    官方版本,亲测可用

    Ant简单应用

    1.Ant通过命令自动编译出build.xml文件2.ANT的配置及简单实用3. Ant命令行打包应用

    antx-autoexpand-1.1-sources.jar

    官方版本,亲测可用

    antx-autoconfig-1.0.10-sources.jar

    官方版本,亲测可用

    aire-config:使用yad开发的应用程序,可让您配置Linux Antx的Wi-Fi

    1. **简化操作流程**:在Linux Antx中,aire-config 提供了一种直观的方式来管理Wi-Fi连接,降低了用户对命令行的依赖,提升了用户体验。 2. **适应性**: aire-config 是为Linux Antx设计的,因此它可能特别优化了...

Global site tag (gtag.js) - Google Analytics