Eclipse 平台入门使用 Eclipse 插件编辑、编译和调试应用程序并将其作为应用程序的基础
|
级别: 中级 Chris Aniszczyk (zx@us.ibm.com), 软件工程师, IBM 2007 年 8 月 06 日
本文是 David Gallardo 题为 “Eclipse 平台入门” 文章的后续篇,提供了有关 Eclipse V3.3 的新信息。 Eclipse 是一种基于 Java 的可扩展开源开发平台。就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括为人熟知的 Java 开发工具(Java Development Tools,JDT)。 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 基于 Eclipse 的应用程序的一个突出例子是 IBM® Rational® Software Architect(参见 参考资料),它构成了 IBM Java 开发工具系列的基础。 开源软件是通过许可证发行以确保授予用户某些权利的软件。当然,最明显的一点是,源代码必须可用,从而用户可以自由地修改和重新发布软件。这种用户权利保护可通过称为 copyleft 的设备实现:软件许可证声明了版权保护和禁止发布,除非用户被授予了这些权利。copyleft 还要求所有重新发布的软件使用原软件的许可。因此,这实际上倒置了版权的目的 — 使用版权来授予用户权利,而不是为软件的开发者保留版权 — copyleft 经常被描述为 “保留所有版权”。 曾经四处蔓延的对开源软件的许多恐惧、担忧和疑虑,都与某些 copyleft 许可证的所谓 “病毒” 性质有关 — 如果使用开源软件作为您开发的程序的一部分,您将失去自己的知识产权,因为该许可证将“感染”您开发的专有部分。换句话说,该许可证可能要求与开源软件一起打包的所有软件,都必须在相同的许可证之下发布。虽然这对最著名的 copyleft 许可证(即 GNU 通用公共许可证,例如 Linux® 就是在该许可证之下发布的)来说可能是事实,但当时还有其他许可证在商业化和社区考虑之间提供了较好的平衡。 开放软件计划(Open Software Initiative)是一家非营利机构,它明确定义了开放源码的含义及满足其标准的认证许可证。Eclipse 是在 OSI 认可的 Eclipse 公共许可证(EPL)1.0 版之下被授予许可证的,EPL 旨在促进 Eclipse 的商业化使用而同时又能对开源作者保持公平。 为 Eclipse 创建插件或将 Eclipse 用作软件开发应用程序基础的开发人员,需要发布他们在 EPL 下使用或修改的任何 Eclipse 代码,但是他们可以自由决定自己添加的代码的许可证授予方式。与出自 Eclipse 的软件一起打包的专有代码不需要作为开放源码来授予许可证,该源代码也不需要提供给用户。 尽管大多数开发人员不会使用 Eclipse 来开发插件,或基于 Eclipse 创建新产品,但是 Eclipse 的开源性质所意味的并不只是使得 Eclipse 免费可用(尽管便于商业化的许可证意味着插件可能要花钱)。开放源码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源码库贡献代码。其中的原因很多,不过最本质的原因是为这个项目作贡献的开发人员越多,这个项目就会变得对每个人都越宝贵。随着此项目变得日益有用,更多的开发人员将会使用它,并围绕它形成一个社区,就像那些围绕 Apache 和 Linux 形成的社区一样。(有关许可证的更多信息,请参阅 参考资料。)
Eclipse 是个开源社区,其项目大都集中于构建开放的开发平台,该平台由可扩展的框架、工具和运行库组成,用来跨生命周期构建、部署和管理软件。Eclipse Foundation 是一个非盈利性会员性质的组织,主管 Eclipse 项目和协助发展开放源码社区及补充成品和服务的生态系统。 Eclipse Project 最初由 IBM 在 2001 年 11 月创建并得到了软件厂商联盟的支持。Eclipse Foundation 则作为一个独立的非盈利性组织于 2004 年 1 月创建,其职能是充当 Eclipse 社区的 “干事”。它的创建旨在让独立于厂商的开放、透明的社区得以围绕 Eclipse 繁荣起来。现在,Eclipse 社区的组成涵盖了软件行业不同层面的组织和个人。 Eclipse Foundation 负责管理和指导 Eclipse 的现行发展。该基金会为社区提供服务,但并不雇佣任何实际致力于 Eclipse 项目开发的开放源码开发人员(称为 提交者)。Eclipse 提交者一般都是受雇于组织或是自愿为开放源码项目贡献时间的独立开发人员。 现在我们已经考察了 Eclipse 背后的一些理论、历史和管理,下面让我们考察该产品本身。
在第一次打开 Eclipse 时,首先看到的是工作台中的欢迎页面(参见图 1)。作为一个 Eclipse 用户,您可以有几个选项可选:可以进入概览页面(这也是我推荐的做法,参见图 2),也可以看看有何新特性、浏览一些示例或阅读一些教程。 Eclipse 工作台由几个称为视图 的窗格组成,比如 Navigator 或 Outline 视图。这些视图的集合称为透视图。其中最为常见的透视图之一是 Resource 透视图,它是一个基本的通用视图集,用于管理项目以及查看和编辑项目中的文件。 我建议新手用户从图 2 所示的概览页面开始了解和熟悉 Eclipse。这个工作台的基本部分包含了大量有关 Eclipse 的组成部分以及各部分之间如何互动的优秀入门信息。请花几分钟时间阅读一下这些资料,之后我们就可以直接开始探究 Eclipse 中的 Java 开发工具(Java Development Tools,JDT)了。实践才是最好的学习方法。 为了继续这个简短的 Eclipse 学习之旅,我们需要创建一个新的 Java 项目。选择 File > New > Java Project,当系统提示要求提供项目名称时,输入 接下来,我们将对 Java 透视图(如果您已经在此)稍作介绍。根据想要管理屏幕的方式的不同,可以更改当前窗口中的透视图,方法是选择 Window > Open Perspective > Java,也可以通过选择 Window > New Window 和新的透视图来打开一个新窗口。 正如您所预期的那样,Java 透视图具有一组更适合 Java 开发的视图。左上角的这个视图就是其中之一,该视图是一个包含了各种 Java 包、类、JAR 以及其他文件的层级结构。此视图被称作包浏览器(Package Explorer)。此外,此主菜单也已经扩展包括了两个菜单项:Source 和 Refactor。
为试验一下 Java 开发环境,我们将创建并运行一个 Hello World 应用程序。使用 Java 透视图,右键单击 Hello 项目,从 Hello 项目的源文件夹 (src) 选择 New > Class,如图 3 所示。在随后出现的对话框中,键入 这样将在编辑器区域创建一个包含 Hello 类和空的 您会在键入时注意到 Eclipse 编辑器的一些特性,包括语法检查和代码自动完成。当您键入开括号或双引号时,Eclipse 会自动提供配对的符号,并将光标置于符号对之内。 在其他情况下,您可以通过按 Ctrl+1 来调用代码自动完成功能。代码自动完成提供了上下文敏感的建议列表,可通过键盘或鼠标来从列表中选择。这些建议可以是针对某个特定对象的方法列表,也可以是基于不同的关键字(比如 语法检查依赖增量编译。每当您保存代码,它就在后台接受编译和语法检查。默认情况下,语法错误将以红色下划线显示,一个带白 X 的红点将出现在左边沿。其他错误在编辑器的左边沿通过灯泡状的图标来指示;这些就是编辑器或许能为您修复的问题 —— 即所谓的 Quick Fix(快速修复)特性。 上面的代码例子在 双击该建议就会把建议代码插入到代码中的恰当位置。 一旦代码无错误地编译完成,您就能够从 Eclipse 菜单上选择 Run 来执行该程序(注意这里不存在单独的编译步骤,因为编译是在您保存代码时进行的。如果代码没有语法错误,它就可以运行了)。这时会出现一个具有适当默认设置的 Launch Configurations 对话框;请单击右下角的 Run。一个新的选项卡式窗格将出现在下面的窗格(控制台)中,其中显示了程序的输出,如下图所示。 也可以在 Java 调试器中运行程序。首先双击编辑器视图左端的灰色边沿,从而在调用 首先,请注意该透视图左上角的 Debug 视图。这个视图显示调用堆栈,并且标题栏中有一个工具栏,它允许您控制程序的执行,包括继续、挂起或终止程序、跟踪下一个语句、单步执行下一个语句,或者从方法返回。右上角的窗格包含许多选项卡式的视图,包括 Variables、Breakpoints、Expressions 和 Display。这里我单击了 Variables 视图,以便我们能够看到 通过上下文敏感的帮助可以获得关于这些视图的更多信息:单击视图的标题,然后按 F1。
除了像 JDT 这样用于编辑、编译和调试应用程序的插件外,还有其他一些可用的插件支持从建模、构建自动化、单元测试、性能测试、版本控制到配置管理的完整开发过程。 Eclipse 附带了配合开放源码并发版本系统(Concurrent Versions System,CVS)使用的插件,可用于源代码控制。Team 插件连接到 CVS 服务器,允许开发团队的成员操作一组源代码文件,却不会相互覆盖其他人的更改。这里不打算进一步探讨如何从 Eclipse 内部进行源代码控制,因为这需要安装 CVS 服务器,不过支持开发团队而不只是独立的开发,这是 Eclipse 的一个重要的必备特性。 受 Eclipse Foundation 支持和管理的插件可以在 Eclipse Web 站点找到。有关可用插件的完整列表,可以参考 Eclipse Plug-in Central,它可视为是插件的索引。
Eclipse 平台具有一组功能强大的插件(参见图 8),这些插件可支持多种项目,比如 JDT 和 PDE。 图中深蓝色的部分代表的是 Eclipse 的富客户机平台(Rich Client Platform,RCP)的核心组件。RCP 本身的概念和原理超出了本文的讨论范围,但可以将 RCP 简单地视为 Eclipse 的一组插件,人们可用这些插件来开发应用程序,比如 Lotus Notes® 8。图中淡蓝色所标示的部分代表的是可包含到基于 RCP 的应用程序中的可选(但建议包含)部件。而灰色部分所示的部件则完全可选。此平台包含有几个组件,下面,我将逐一加以介绍:
Eclipse 源于来自 IBM 的一点代码,现已发展成了一个功能完善的开源生态系统,参与的公司多达 100 多家。可移植、可扩展的开源框架并非什么新鲜的理念,但正是由于其成熟、健壮和优雅的设计,Eclipse 才得以为我们带来了全新的动力。 欢迎您加入 Eclipse 生态系统。我们的目标是让您能快速熟悉 Eclipse 平台。本文通过理论介绍和实际练习达到了此目的。请您吸收和应用本文中所获得的知识,尽快成为 Eclipse 生态系统中活跃的一分子。 学习
获得产品和技术
讨论
|