什么是Eclipse Eclipse是一个开放源代码的、与NetBeans、Sun ONE Studio和Borland Jbuilder类似的一种基于Java的整合型可扩展开发平台,也是目前最著名的开源项目之一,IBM在最近几年里也一直在大力支持该项目的发展,目标是将其做成用以替代IBM Visual Age for Java(简称IVJ)的下一代IDE开发环境,并于2001年11月宣布投入4千万美元资金到该项目的研发。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。其未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。
目前,Eclipse已经开始提供C语言开发的功能插件。更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,比如本系列文章为了进行手机应用程序的开发就是通过J2ME插件的扩展来加以实现的。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。
Eclipse的主要组成 Eclipse是一个开放源代码的
软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成--Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成
软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(
软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。
特性简介 上图为Eclipse的软件界面,看上去有点象Jbilder,但是实际操作还是更象IVJ,毕竟还是由开发IVJ的原班人马主刀完成了Eclipse的开发。另外还值得一提的是Eclipse项目的参与者除了IBM以外,还有象Borland,Rational Software,RedHat,Merant等一大批业界姣姣者,这也为Eclipse的未来奠定了良好的基础。正所谓好酒不怕巷子深,Eclipse刚推出不久就创造了6个月内100万次的下载记录,还被业界推崇为工具集成平台的标准并夺得Jolt最佳IDE奖、JDJ编辑推荐IDE等殊荣。目前Eclipse联盟拥有12个成员,其中包括Borland、Fujitsu、IBM、MERANT、QNX Software Systems、Rational Software、RedHat、Serena Software、SuSE、Sybase、TogetherSoft和WebGain,此外,有超过175家的工具厂商已经或计划在Eclipse平台之上开发工具。那么Eclipse究竟是凭什么取得如此不俗的成绩呢?下面就分别从文件存放,开发环境,编译与运行,版本管理以及使用插件等方面对Eclipse的各种特性作一个简单的介绍,之后相信读者一定不会再怀疑Eclipse的能力了。
大多IVJ的初学者都对找不到Java源代码感到非常不适应,因为IVJ把所有的源代码都存储到一个reponsitory库文件中,想要得到文本格式的源代码必须用Export功能从reponsitory中导出源代码。使用了reponsitory的IVJ对源代码的管理功能几乎达到极致,正是这一点使得许多程序员对IVJ钟爱有加。而Eclipse虽然是将源代码以文本方式保存,却仍然实现了IVJ对源代码管理的几乎全部功能,并且还增加了一些新的功能,这不能不说是Eclipse的一个亮点。
在Eclipse的安装目录下会有一个workspace文件夹。每当新建一个项目,都会在该目录中产生和项目同名的文件夹以存放与该项目相关的全部文件。将已有的文件加入到一个项目中目前有三种方式:第一种是象在IVJ中的一样,用IDE的"文件"菜单中的"导入"功能将文件导入到项目中。这也是推荐的方式。第二种是从Windows的资源管理器中直接拖动文件到项目中。第三种就是直接将文件拷贝到项目文件夹中,然后在Eclipse的资源浏览窗口中选择项目或文件夹并执行从本地刷新功能。需要说明的一点是,项目文件夹可以放在计算机的任何位置,并且可以在Eclipse中用新建项目的方法将项目路径指定到已经存在的项目文件夹,然后在Eclipse中刷新即可。但要注意的是,任何项目文件夹建立或指定,目前都只能在Eclipse中用新建项目的方法来实现,即使是在缺省存储项目文件夹的workspace路径下新建立一个文件夹,在Eclipse环境中也是无法将它变成一个项目,也就是说,这个文件夹对Eclipse是不可视的。
与IVJ一样,Eclipse开发环境也被称作工作台,主要由三部分组成:视图、编辑窗口和观察窗口。下图为工作台的关系结构略图:
可以看出工作台包含多个视图,而每个视图又包含不同的窗口。每个编辑窗口有很大的共性,而且缺省情况它们都在同一区域中显示。所有文件的显示和编辑都包含在编辑窗口里。缺省情况下打开的多个文件以标签形式在同一个窗口中排列,可以用拖动方式将这些文件排列成各种布局。当有文件被加入到项目中后,在资源浏览或Java包浏览窗口双击文件,Eclipse就会试图打开这个文件:其中Eclipse内嵌的编辑器能缺省打开一些文件,如*.java,*.txt,*.class等。如果是其它类型的文件,Eclipse会调用操作系统相应的缺省编辑器打开,如word文档,PDF文件等。同时Eclipse也可以象IVJ一样用指定的编辑器打开相应的文件。Eclipse还提供了只显示所选单元的代码显示切换功能,这在编辑Java程序的时候可以以方法为单位进行编辑,不仅代码的显示更加简捷,而且还有助于编写封装性更好的类。
浏览窗口和Java浏览窗口是观察窗口核心部分。前者和Windows的浏览器差不多,能浏览项目文件夹中的所有文件,后者用来浏览项目中的Java包,包中的类,类中的变量和方法等信息。在Java浏览窗口中可以通过用鼠标右键菜单打开层次浏览窗口,这个窗口非常实用,它能非常清晰的查看类的层次结构。类中的编译出错信息可以在任务窗口中查到,同时它也可以成为名符其实的任务窗口:向其中添加新的任务描述信息,来跟踪项目的进度。控制台则主要用来显示程序的输出信息。在调试程序的时候,会有更丰富的观察窗口来帮助程序员进行调试,如变量值察看窗口,断点窗口等等。
观察窗口是任何IDE开发环境的核心,Eclipse也提供了丰富的观察窗口,不过要真正用好这些窗口恐怕还要经过一段时间的练习。
至于视图,实际是包括一个或多个编辑窗口和观察窗口。在开发环境的最左侧的快捷栏中的上部分显示的就是当前所打开的视图图标。视图是Eclipse的最灵活的部分,可以自定义每个视图中包含的观察窗口种类,也可以自定义一个新视图。在Eclipse的Java开发环境中提供了几种缺省视图,如资源视图、Java视图、调试视图、小组同步视图等等。每一种视图都对应不同种类的观察窗口。可以从菜单栏中的"打开透视图"看到与该视图对应的观察窗口。当然,每个视图的观察窗口都是可配置的,多样化的视图不但可以帮助程序员以不同角度观察代码,也可以满足不同的编程习惯。
IVJ具有非常强大的调试功能,有多种跟踪方式,断点设置,变量值察看窗口等。这些在Eclipse中都也有提供。而且会根据所安装插件的不同而存在多种运行/调试程序的方式。
Eclipse还提供了强大的个人版本管理机制,每一次被保存的更改都可以得到恢复。而且可以精确到每一个方法的版本恢复。操作也十分方便,在任何一个能看到所要操作文件的观察窗口都可以按照用户的需求找到相应的版本。强大的个人版本管理功能为程序员提供了更多的信心:只管编下去,因为任何不小心的错误都是可以恢复的。Eclipse缺省为版本管理工具CVS提供了接口,可以非常方便的连接到CVS服务器上。通过CVS版本管理,Eclipse可以为团队开发提供良好的环境。
至于Eclipse最大的闪光点--强大的插件加载功能在文章开始就有详细的介绍,这里就不在赘述。
小结 正是由于Eclipse的种种优秀特性,使得Eclipse在众多整合型开发平台中脱颖而出。成为不少从事手机
软件开发的程序员的首选开发工具。限于篇幅,本篇文章仅从多个方面对Eclipse作了一个大体的介绍,至于Eclipse软件的获取方式、环境配置方法等具体技术细节将在下一篇文章中进行详细介绍。