快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
文件中(或者也可以直接在 deploy.xml 中直接切换不同的属性文件),然后在 Eclipse 中直接执行 deploy.xml;如果在命令行中,可以用下面的命令来执行:

ant –f deploy.xml

解开 WAR 包

我们首先得建立一个目录(这里是 unpack)用来存放解压后的文件。Ant 中提供了 unzip 命令用来解压 ear/war/jar 包。除了这个目录外,根据不同的目标环境,在运行目录下建立一个与目标环境相对应的目录,重新打好的 war 包就放在这个目录下,比如针对场景中的情况,如果需要创建一个产品环境下的部署包,我们可以建立一个 TestWebProduct 目录,目录名写在配置文件中(${pack.base.dir})。

<target name="init">      <echo>init in deploy</echo>      <property file="deploy.properties" />      <delete dir="${unpack.base.dir}" failonerror="false" />      <delete dir="${pack.base.dir}" failonerror="false" />      <mkdir dir="${unpack.base.dir}" />      <mkdir dir="${pack.base.dir}" />    </target>    <target name="unpack">      <echo>unpack the ${war.name}</echo>      <copy file="${dest.dir}/${war.name}" todir="${unpack.base.dir}" />      <unzip src="${unpack.base.dir}/${war.name}" dest="${unpack.base.dir}/${projectName}" />      <delete file="${unpack.base.dir}/${war.name}" />    </target>

在 init 段中首先删除掉上次解压的目录和目标打包目录,然后重新建立目录;在 unpack 中,首先将编译好的默认 war 包拷贝至 unpack 定义的目录,解压之后把 unpack 下的 war 包删除。下面是这时候对应的属性文件。

projectName=MTSWeb war.name=MTSWeb.war #根目录 base.dir=c:/temp #默认的war包所在的目录 dest.dir=${base.dir}/dist #解压后的目录 unpack.base.dir=${base.dir}/unpack #目标环境相对应的目录 pack.base.dir=${base.dir}/TestWebProduct

利用 Ant 提供的 filter 任务替换属性值

现在根据不同环境的需要,对某些配置文件的值做一些替换。在 Ant 中,提供了 filter 任务,使得替换值很方便。当然也可以使用下面介绍的正则表达式来替换属性值。filter 主要用来在同一行内容中的替换,而正则表达式一下子可以替换多行内容。filter 的使用例子:

<filter token=" log4j.logger" value="INFO"/>   <copy todir="${dest.dir}" filtering="true">    <fileset dir="${src.dir}"/>   </copy>

这段脚本的意思就是在 src.dir 目录下的所有文件中,如果有预先定义好的"@log4j.logger@"占位符的话,在拷贝到 dest.dir 目录后,所有的占位符都被替换成了"INFO"。

你也可以将所有被替换的值放到某个属性文件中,filter 任务将属性文件中的每一个条目读出来并且设置成一个 Filter。如下所示:

<filter filtersfile="deploy_env.properties"/>   <copy todir="${dest.dir}" filtering="true">    <fileset dir="${src.dir}"/>   </copy>

上面的脚本表示所有在 deploy_env 中出现的条目将被作为一个 filter,在拷贝到 dest.dir 目录后,所有 src.dir 目录中存在的占位符将被替换成 deploy_env 中的值。具体的例

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号