<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
在首页显示版本编译时间(Tstamp和Filter的配合)
概要
每次编译后将要明确地告知每一个开发人员这个版本的编译时间,于是想到使用Ant自动地将时间印上首页。
首页将看到“ 版本编译时间:2003/09/12 10:09 上午 ”
我们的项目的首页是login.jsp文件,其中片段如下:
...
<p>
版本编译时间:@TimeForCompile@
<p>
...
在build.xml的其中片段:
...
<target name="init">
<tstamp>
<format property="CompileTime" pattern="yyyy/MM/dd hh:mm aa" locale="cn"/>
</tstamp>
</target>
...
...
<target name="makeTimeStamp">
<filter token="TimeForCompile" value="${CompileTime}"/>
<rename src="${aicear}/web/login.jsp" dest="${aicear}/web/login.jsp.bak"/>
<copy file="${aicear}/web/login.jsp.bak" tofile="${aicear}/web/login.jsp" filtering="true"/>
</target>
说明:
在jsp文件里面,预先留有过滤标记@TimeForCompile@。
任务init的意图:定义时间戳 名字就是CompileTime。时间的格式是采用cn本地化的。
任务makeTimeStamp的意图:在过滤jsp文件的时候,利用定义的时间戳CompileTime值取代jsp文件里面的TimeForCompile值。
因为jsp文件原本已经存在的,所以通过rename,copy这种方式,令它流经过滤器filter产生作用。
参考
Ant 帮助手册 Ant Tasks 里面的Core Tasks 里面的 Tstamp 一节
Ant 帮助手册 Ant Tasks 里面的Core Tasks 里面的 Filter 一节