<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <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 一节