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

读者定位为具有 Java 和 Ant 使用经验的开发人员。

读者可以学习到如何使用 Ant 解决一些多用户开发环境中,根据不同的目标环境编译成不同部署包的问题。

工作场景

现在有一个 web 项目,是多人进行开发的,通过 CVS 来管理。另外该项目还有一些测试人员,他们测试部署在测试服务器上的应用程序,发现 bug 后通过 bug 管理系统通知开发人员,在开发人员修复 bug 并经过本地测试后,由专门的人负责检出(check out)代码,编译打包后部署到测试服务器上。

该项目的成员小A就是负责检出代码、编译打包,并部署到服务器上的人。除了这个任务之外,他还是该项目的编程人员。在项目进入测试阶段后,小A在得到组中别的成员修复了 bug 并且检入(check in)了代码的消息后(也有可能是小A自己检入了代码),小A首先更新本地的代码,先在本地做测试,确认修复了 bug 后打成 WAR 包部署到测试服务器上,并通知测试人员已经修复了 bug,让测试人员继续进行测试。

小A的烦恼

在该项目中,有一些为测试方便开发而写的代码和页面,比如跳过用户认证,但是在部署到测试机环境的时候,需要删除这些代码和页面;另外作为一个具有灵活性和扩展性的应用程序,又有一些配置文件,配置文件中的值会根据环境的改变而变动。例如,在项目中使用了 Log4j 记录日志,需要给 Log4j 指定日志文件的保存路径,本地程序员开发的时候用的是 Windows 系统,给 Log4j 指定的也是 Windows 的文件系统,在测试阶段的时候,需要部署到 Linux 系统中,那么日志的保存路径也需要做相应的改动。部署到测试服务器上的时候,除了 Log4j 需要改之外,还有很多别的配置项目也需要变动,并且分散在各个 package 中。小A的烦恼也随之而来,每次他在做完本地测之后,就根据测试机的需要逐个找配置文件,更改相应的值,并删除那些为测试方便写的代码和页面,每天可能根据需要做好几次这样的事情,最烦的是他在快做完对测试机环境更改的时候,某开发人员突然通知小A说:“我又改了一点代码,刚检入,你再重打一个包吧。”,小A又不得不从头开始做新一轮的检出代码、本地测试、更改配置文件、删除不需要的文件、打包部署的工作。另外小A在测试阶段的后期被通知要求除了每次生成一个测试环境的 WAR 包外还必须生成一个在产品环境下的 WAR 包,他做的事情就更多了。

从上面的场景可以看出,小A的工作效率低而且容易出错,甚至有可能导致整个项目的工作效率低下。其实可以通过 Ant 来帮助小A快速而且有效地完成这个工作。在 Ant 中,根据目标环境的需要,可以把所有要更改的配置文件的项目集中写到某个配置文件中。这样根据不同的目标环境得到不同的配置文件,Ant 在编译包时根据不同的目标环境切换不同的配置文件即可。比如小A现在碰到的有 3 中环境:开发环境、测试环境以及产品环境,根据这三种环境可以生成三个不同的配置文件:develop_deploy.property、test_deploy. property和product_deploy. property,当小A想生成不同的包时只需在这三个配置文件之间切换就可以了。

在正式开始编写脚本之前,我们需要下载安装相应的软件。

Eclipse:为了使 Ant 的开发更加简单,我们选择了 Eclipse3.1 作为开发环境。当然你可以使用任何你喜欢的文本编辑工具来开发你的 Ant。Eclipse 的最新版本可以在 http://eclipse.org/ 上下载。

Ant:Ant 是基于 Java 的编译工具,它就像 C/C++ 中的 make,但是没有 make 那样难用。Ant 的最新版本可以在 http://ant.apache.org/bindownload.cgi 上下载。如果你用 Eclipse 来开发 Ant,则不用去单独下载 Ant,因为在 Eclipse 中已经集成了 Ant。

CVS 客户端(cvs.exe):CVS 可以在 http://www.nongnu.org/cvs/ 上下载

用 Eclipse3.1 来创建 Ant 脚本

如果你使用 Eclipse 来编写 Ant,建议使用 Eclipse 3.1 以后的版本。除了以前 Ant 编辑器提供的语法高亮,提示语法错误等功能外,Eclipse3.1 版本增加了许多新的功能。比如:脚本代码的折叠;快速定位某属性或者目标(target)段的定义;在同一 builder 文件中重构属性名和目标名(快捷方式Alt + Shift +R);调试 Ant 脚本等。

下面我们就来看看 Eclipse 3.1 中对 Ant 的支持

打开“File”-“New”-“Project”-“Simple”-“Project”,点击“Next”,输入工程名“Ant”,然后点击直到“Finish”

在新建的 Ant 工程中,新建 Test.xml,并且拷贝下面的脚本。该段脚本的内容就不做介绍了,我们主要看 Eclipse 提供了哪些功能。注意这时候打开的并不是 Ant 编辑器,将内容拷贝进去之后,关掉打开的“Test.xml”,然后再重新打开它,这样 Eclipse 就会用 Ant 编辑器打开它,并且也语法高亮了。

<?xml version="1.0" encoding="UTF-8"?>
<project name="Test" default="init" basedir=".">
<property name="test" value="test"/>
<target name="init">
   <echo>${test}</echo>
</target>
</project>

时间: 2024-12-03 04:01:40

利用Ant和Eclipse有效地提高部署工作效率的相关文章

五点方法有效的提高SEO工作效率

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 不仅是公司的SEOER和个人站长都觉得每天的时间都很紧促,每天的时间都不够用但晚上总是觉得自己这一天什么都没干就结束了.说白了就是工作效率的问题,本人是在公司从事SEO工作的每天的工作时间差不多是12个小时.每天要维护的站差不多是15个左右.怎么在最短的时间完成了工作并且能真正的影响排名呢?今天和大家分享一下. 一.学会化整为零 我想博客外链

8个提高数据分析工作效率的技巧

我刚和一位老友恢复了联系.她一直对数据科学很感兴趣,但10个月前才涉足这一领域--作为一个数据科学家加入了一个组织.我明显感觉到她已经在新的岗位上学到了很多东西.然而,我们聊天时,她提到了一个至今在我脑海里都挥之不去的事实或者说是问题.她说,不论她表现如何,每一个项目或分析任务在令经理满意之前都要做好多次.她还提到,往往事后发现原本不需要花这么多时间! 听起来是不是很像你的遭遇?你会不会在得出像样的答案之前反复分析很多次?或者一遍又一遍地为类似的活动写着代码?如果是这样的话,这篇文章正好适合你.

XP五大快捷键有效提高站长工作效率

http://www.aliyun.com/zixun/aggregation/34065.html">WindowsXP中文全称为视窗操作系统体验版.是微软公司发布的一款视窗操作系统.它发行于2001年10月25日,原来的名称是Whistler. 微软最初发行了两个版本,家庭版(Home)和专业版(Professional).家庭版的消费对象是家庭用户,专业版则在家庭版的基础上添加了新的为面向商业的设计的网络认证.双处理器等特性.且家庭版只支持1个处理器,专业版则支持2个.字母XP表示英

虚子雨:SEO经验谈之如何提高SEO工作效率

大家好,我是虚子雨.最近一直在思考一个问题:如何让自己的SEO提高效率?相信大家也在为这个问题所困扰.很多的朋友会问一些非常简单的问题,而且大家是知道答案的,但是就是因为自己心中不确定想找一个人来确定一下自己心中的想法,例如SEO每天要做些什么这个问题我的回答一般会是做外链和内容,但是对于不同的人来说侧重点就有所不同了,有的朋友会认为外链很重要,于是大部分时间是在做外链,而且会想方设法的把外链做好,权重高,收录快.而如果大家侧重站内的用户体验的话,就会用心的编辑站内的文章,给用户最想要的东西,帮

使用Fiddler提高前端工作效率 (实例篇)

在上一篇(介绍篇)中,我们对Fidhttp://www.aliyun.com/zixun/aggregation/16504.html">dler Web Debugger有了简单的接触,也许你已经开始在用Fiddler进行HTTP相关的调试,在这一篇,我们将通过一个实例了解Fiddler的神奇魔法. 在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭.通常,我们需要将文件进行修改,然后重新发布再验证,这样就很容易影响到生产环境的稳

使用Fiddler提高前端工作效率 (介绍篇)

1. Fidhttp://www.aliyun.com/zixun/aggregation/16504.html">dler 是什么? Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器.英语中Fiddler是小提琴的意思,Fiddler-Web-Debugger就像小提琴一样,可以让前端开发变得更加优雅. Fiddler是以代理服务器的方式,监听系统的网络数据流动.运行Fiddler后,就会在本地打开8888端口,网络数据流通过Fiddler进行中转时,我们可以监视HT

分享提高推广工作效率的一点粗浅方法

中介交易 SEO诊断 淘宝客 云主机 技术大厅 大家都知道,一开始疯男哥哥是在影楼工作,推广也只推广一家公司,一家网站.而现在哥哥走出影楼做旭天网络顾问了,虽然我负责的还是影楼网络推广,但是整个工作流程和原来却完全不同了.现在不再是推广一家公司,一家网站,而是要负责多家公司和多家网站的推广优化工作.这一变动对我影响很大,一开始感觉很是茫然,有一种力不从心的感觉,并稍微郁闷.百度CEO李彦宏了解到了我的情况,他对我说,重复的工作一定要系统化.流程化.老李的话对我来说犹如晴天霹雳.当头棒喝,于是我马

WPS Office 2012组合公式帮你提高工作效率

WPS表格可以进行数据计算.分析和整理,当使用一些比较复杂的公式的时候,以前许多人都会找现成的公式来使用,甚至做成模板反复使用.比如,计算个人所得税和从身份证中提取性别.出生日期信息,是固定的公式,就会从网上下载他人的文件,复制出较长的公式到自己的表格中使用. WPS的"组合公式"功能就替大家想到了解决的办法,把这些常用的公式集成在WPS表格软件中,用户可以直接调用公式进行计算,而不必再去"苦苦"查询"记忆中的公式",大大提高了工作效率. 今年九

傲游十个功能帮你提高工作效率

  读过一篇文章--"10 Google Chrome Extensions for Boosting Your Productivity"(<可以提高你工作效率的十款Chrome浏览器插件>)之后,加深了对chrome的了解.不过明显作者对在白领上班族中十分流行的傲游浏览器不甚了解,这十个Chrome需要依赖插件实现的功能几乎被包括在了傲游的原生功能中,仅有几个和社交网络及Google本身服务紧密相关的功能傲游没有触及.下面就来与各位分享傲游的这10个功能,希望能够带给各