BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

企业级Java软件构建系统EL4Ant

| 作者 骆古道 王德志 关注 0 他的粉丝 发布于 2007年4月29日. 估计阅读时间: 11 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

本文将介绍一个企业级Java软件构建系统EL4Ant ,该工具可以为构架一个自己的开发运行软件系统提供很好的基础保证,它不仅让你无需关心Apache Ant的构建文件build.xml如何修改或者增加构建任务,而且使得你的软件在企业中达到构建工作高度的标准化、构建命令基于Java代码的可扩展性及其可重用性和开发软件工作的规范化。

另外本文还将阐述该工具如何和软件集成开发工具Eclipse和网络服务器Apache Tomcat简单而方便地一起工作,之后将用实例阐述该工具是如何快速和简单地开发和管理复杂大型Java软件工程项目的可能性。利用该系统和集成第三方软件框架开发Java服务端软件如下图所示,它不间断地处理网络中的数据传输。



EL4Ant系统主要优势

软件构建工具是为了软件的开发、编译和部置更为方便和简洁。在软件企业中,好的软件构建工具对于软件开发效率会有极大的提高,因此选择好一个软件构建工具应该是软件企业的一个重要环节。在每一门计算机语言中都有自己的软件构建工具。C/C++语言有make工具作为它重要的软件构建;Ruby语言也有自己的软件构建工具rake(ruby make),它们在各自语言的软件开发中起到了重要作用。同样地,Java语言也有自己的基础软件构建工具Apache Ant和在其基础上发展起来的重要软件构建工具Apache maven,它们都在Java软件开发中得到了充分应用。

因为Java语言软件的多样性和复杂性,所以如何为自己的软件找到一个适合的构建工具是十分必要的。你是否想要有一个工具既简单方便地被我们所使用,也不需要自己再写xml文件,还要为我们提供已定制好的所有常用的构建命令,又能够为我们快速地把它和主流的集成开发工具Eclipse一起工作?更进一步地,把构建命令作为一个程序Java程序来进行开发,如果你想扩展你的构建命令的话?下面我们就来介绍一种这样的软件构建系统EL4Ant。该工具来自于现实的软件开发项目,也希望能为你的实际工作服务。

任何一个应用软件框架都离不开一个有效的软件构建系统,比如Ruby on Rails框架的成功就有一个很好的构建工具rake。EL4Ant系统是一个轻量级的、高效的和基于Apache Ant的软件构建工具。大家知道,真正的实际项目会有大量的子项目,而在子项目下面还有很多模块,管理和开发这些项目和模块是一个相当复杂而又繁重的任务。该工具可以帮助你简单地完成这些事情,它能够把一个实际项目根据你的需要分成若干个开发项目(我们在这里把它称之为工程),在每个工程下面可以创建若干个模块,在这个模块下面再可以有若干个Eclipse项目(自动产生Eclipse项目的基本配置文件)。所有这些基于模块的Eclipse项目的依赖关系和属性都可以由你自己简单地进行配置和定义的。

一旦你把你的工程、模块和Eclipse项目定义好之后,其它工作都由工具EL4Ant来完成了。工具EL4Ant把所有构建命令都为你准备好了。从层次上来说,每个Eclipse项目都有相应的编译和运行命令,每个模块也是如此,你不必为每个Eclipse项目进行编译等工作。从构建命令来说,不仅仅有软件构建工具基本代码的编译、编译好的代码删除和通过Main类代码执行等功能,还有大量十分有用的命令,执行JUnit、生成Javadoc文档、生成Checkstyle报告和和执行测试覆盖率工具EMMA 并且生成其报告等。

EL4Ant系统是一款绿色软件构建工具。你可以把它及其所有的工具(Ant和Tomcat等)和你软件开发所需要的第三方软件包一起带走,移到任何机器和任何目录下工作,一切照样进行,不需要你再作任何开发的配置工作。

EL4Ant系统版本说明、安装及相关软件

EL4Ant系统目前主要有两个版本0.9.2和0.9.3,最新版本0.9.3修改了大量的问题报告,使得该系统更为成熟,而版本0.9.2在使用时会发生一个小错误。两个版本都可下载,都包含有两个部分:一个含基本实例项目的开发系统和一个该系统的原代码。我们本文使用版本0.9.3。要是我们作为软件开发人员使用该系统的话,一般只需要系统本身,而不需要该系统的源代码,但是如果我们发现系统本身少了某些必要的内容,那么你可能需要下载源代码。源代码的另外用途是你在开发该系统的构建命令插件时参考相应的插件代码会有用。你可以在这里下载它们。

把下载的文件ant+el4ant+helloworld_0.9.3.zip解压并且存放到你希望的目录%EL4ANT_HOME%下。这儿你需要设定环境变量EL4ANT_HOME。

安装和配置Java语言开发环境Java SDK 5.0和安装集成开发工具Eclipse 3.2或者以上版本是我们本文的前提条件。

假定你的Eclipse软件安装在目录%EL4ANT_HOME%下,创建一个软件Eclipse的桌面链接,并且设定如下:

%EL4ANT_HOME%\eclipse\eclipse.exe -data %EL4ANT_HOME%\workspace

EL4Ant系统结构说明

在目录%EL4ANT_HOME%下你现在应该看到四个目录:

ant
demo-project
el4ant
workspace

除了目录ant安装了软件ant和目录作为Eclipse项目的工作目录外,最重要的目录是el4ant和demo-project。在El4Ant的系统目录el4ant下有两个目录lib和project-template,目录project-template仅仅是一个模板,它在这个目录里不是一定要的,这个模板我们称之为工程。目录demo-project就是这个模板的一个实例,或者说是EL4Ant系统的一个工程实例。而存放所有的系统软件包的目录lib是必须的。

EL4Ant系统可以有若干个工程。工程目录是我们实际软件项目存放的位置。在这个工程目录里有若干个模块,在模块下可以有若干个Eclipse项目。一般情况下工程是和目录ant同级;模块是工程的子目录;Eclipse项目目录可以在模块下的目录或者下一级或者再下几级目录里。

目前在工程目录demo-project下应该存在三个xml文件。这三个文件中最重要的也是经常修改的文件是project.xml,该文件把Eclipse的项目和属性一次搞定,其它两个文件很少修改。在你编译以后会自动产生一个ant文件build.xml,这个文件不需要去修改。

集成Tomcat版本5.5+到EL4Ant系统

下面我们简单说明一下网络容器集成到EL4Ant系统中。先在目录%EL4ANT_HOME%下创建一个目录tomcat。你可以在如下的链接获取网络容器Tomcat版本5.5.23:http://tomcat.apache.org/download-55.cgi。

在你下载好的文件apache-tomcat-5.5.23.zip解压到目录%EL4ANT_HOME%\tomcat下之后,该目录下应该有目录bin。这样你可以通过EL4Ant系统开发网络应用软件。

一分钟后开发Java软件

打开你的系统终端,输入下面两条命令(在Linux下把命令中的“\”改为“/”下同):

cd %EL4ANT_HOME%\demo-project
..\ant\bin\ant -f bootstrap.xml

启动Eclipse工具,然后点击菜单,按照下面给定的方法可以把所有模块helloworld下的Eclipse项目一次性导入到Eclipse,进行软件开发等工作。注意所有项目的关联性也在Eclispe工具中体现出来了。

—File
—Import...
—General
—Existing Project into Workspace—Next
—Browse...
—%EL4ANT_HOME%\demo-project\helloworld(找到该目录)
—Ok
—Finish

再执行一条命令,你就可以打开你的浏览器(http://localhost:8080/helloworld/)访问我们的网络软件

..\ant\bin\ant compile deploy.war.module.eu.helloworldweb

最后我们给出两条有用的命令,其中第二条命令输出结果,你可以看到由EL4Ant系统所生成的所有构建命令如这里的链接图

..\ant\bin\ant -h
..\ant\bin\ant -p

后记

下次我们有机会再深入探讨如何从模板出发创建一个类似于demo-project实例工程及其模块和Eclipse项目。

从上面你可以了解到,EL4Ant系统体现了习惯优于配置(COC,Convention over Configuration),提高软件编程的乐趣和生产效率。EL4Ant系统要集成开发工具、系统和第三方软件包也是很简单的。我们可以集成许多第三方重要的软件框架,如著名的控制反转Apache HiveMind框架和基于SOAP的网络服务框架Codehaus XFire等,来完成更为复杂的软件开发项目。


作者简介:骆古道,网名Cnruby,八十年代初毕业于西北工业大学数理力学系,1988年公派留学德国,从事组合最优化理论研究,从九十年代初期起一直致力于计算机领域软件开发、设计和管理等方面工作,个人博客为“道喜技术日记”。

王德志,八十年代末获得西安交通大学计算机专业硕士学位,多年来一直主要从事计算机系统研究工作,在软件项目管理和领导方面有丰富经验。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT