快速业务通道

利用Ant和Eclipse有效地提高部署工作效率 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
子可以参见随本文附带的 deploy.xml, deploy_env.properties 和 Test.properties。

其中 deploy.xml 是 ant 脚本,deploy_env.properties 中包含所有要替换的值,在 Test.properties 中是包含有占位符的资源文件。

利用Ant和Eclipse有效地提高部署工作效率(7)

时间:2011-02-04 IBM 金发华

利用正则表达式替换属性值

Ant 中支持多种正则表达式,在运行 Ant 的时候用哪种正则表达式可以通过设置 ant.regexp.regexpimpl 的值来切换,Ant 支持的的正则表达式有:

java.util.regex package of JDK 1.4

jakarta-regexp

installation dependencies

正则表达式的例子:

<replaceregexp byline="true"> <regexp pattern="正则表达式"/> <substitution expression="将要替换的值"/> <fileset dir="${unpack.war.dir}/WEB-INF" includes="web.xml"/> </replaceregexp>

byline 属性用来确认被替换的时候是一次替换一行还是多行;pattern 属性用来指明正则表达式;substitution expression 中是替换的值,替换的值都定义在相对应的配置文件中;fileset 属性中的 dir 用来指定被替换文件所在的目录,includes 用来指定要替换哪个文件。需要注意的是,如果在正则表达式或者替换的值中出现"<"的话,需要用转义符"<"。

在 Eclipse3.1 中已经内置了对正则表达式的支持;但是如果你在命令行中运行需要正则表达式支持的脚本的话,则需要自己将正则表达式的包下载下来加到 classpath 中。在随文章的 deploy.xml 中提供了一个简单的替换属性文件的值的例子。正则表达式的例子可以在本文所带的 deploy.xml 中找到。

Ant 使用条件表达式,根据属性值删除不需要的文件

在生成部署包的时候,还有可能会根据目标环境的不同,删除一些不同的文件。比如在产品环境中那些作为测试需要的代码往往需要删除,但是测试环境中并不需要。因此就需要条件表达式来做判断。如下所示:

<target name="checkTestEnv">    <condition property="isTestEnv">      <istrue value="${deploy.isTestEnv}" />    </condition>    <antcall target="trueCondition" />    <antcall target="falseCondition" /> </target> <target name="trueCondition" if="isTestEnv">    <echo message="true condition in ${projectName}" /> </target> <target name="falseCondition" unless="isTestEnv">    <echo message="false condition in ${projectName}" /> </target>

在上面的例子中,先读出 ${deploy.isTestEnv} 的值(在配置文件 deloy.properties 中),根据读出的值对属性 isTestEnv 设值,如果 ${deploy.isTestEnv} 的值是 true,isTestEnv 的值也是 true;否则是 false。然后分别调用目标段 trueCondition 和 falseCondition。在这里,表达式值的判断是用"istrue",在 Ant 中还提供了很多别的表达式,比如 not/and/or,equals 等等,具体关于条件表达式的信息可以参考:http://ant.apache.org/manual/CoreTasks/condition.html ,该页也可以在随下载下来的文档中找到。

在段 trueCondition 中,判断 isTestEnv,如果是真的话就运行,否则不运行;在段 falseCondition 中,也判断 isTestEnv,如果是假就运行,否则不运行,在段中可以根据情况做相应的事情。条件判断式的例子可以在本文的 deploy.xml 中找到。

重新

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号