Eclipse 平台入门
IBM的Eclipse平台入门。
使用 Eclipse 插件来编辑、编译和调试应用程序 |
级别: 初级 David Gallardo (mailto:david@gallardo.org?subject=Eclipse%20%E5%B9%B3%E5%8F%B0%E5%85%A5%E9%97%A8&cc=david@gallardo.org), 软件顾问 2004 年 1 月 10 日
编者注:本文更新版本“Eclipse 平台入门” 2008 年 8 月发表。此最初版本将保留下来供大家参考。要了解 Eclipse 的最新功能,请阅读新文章。 Eclipse 是什么? 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 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。
Eclipse 是开放源代码的软件 开放源代码软件是这样一种软件,它们在发布时附带了旨在确保将某些权利授予用户的许可证。当然,最明显的权利就是源代码必须可用,以便用户能自由地修改和再分发该软件。这种用户权利的保护是通过一种称为 copyleft的 策略来完成的:软件许可证主张版权保护,除非明确授予用户这样的权利,否则用户不得分发该软件。copyleft 还要求同一许可证涵盖任何被再分发的软件。这实际上倒置了版权的目的——使用版权来授予用户权利,而不是为软件的开发者保留版权——copyleft 经常被描述为“保留所有版权”。 曾经四处蔓延的对开放源代码软件的许多恐惧、担忧和疑虑,都与某些 copyleft 许可证的所谓“病毒”性质有关——如果使用开放源代码软件作为您开发的程序的一部分,您将失去自己的知识产权,因为该许可证将“传染”您开发的专有部分。 换句话说,该许可证可能要求与开放源代码软件一起打包的所有软件,都必须在相同的许可证之下发布。虽然这对最著名的 copyleft 许可证(即 GNU 通用公共许可证,例如 Linux 就是在该许可证之下发布的)来说可能是事实,当时还有其他许可证在商业化和社区考虑之间提供了较好的平衡。 开 放源代码计划(Open Software Initiative)是一家非营利机构,它明确定义了开放源代码的含义及满足其标准的认证许可证。Eclipse 是在 OSI 认可的通用公共许可证(CPL)1.0 版之下被授予许可证的,CPL“旨在促进程序的商业化使用……”(欲获得指向通用公共许可证 1.0 版完整文本的链接,请参阅本文稍后的 参考资料)。 为 Eclipse 创建插件或将 Eclipse 用作软件开发应用程序基础的开发人员,需要发布他们在 CPL 下使用或修改的任何 Eclipse 代码,但是他们可以自由决定自己添加的代码的许可证授予方式。与出自 Eclipse 的软件一起打包的专有代码不需要作为开放源代码来授予许可证,该源代码也不需要提供给用户。 尽管大多数开发人 员不会使用 Eclipse 来开发插件,或创建基于 Eclipse 的新产品,但是 Eclipse 的开放源代码性质所意味的,并不只是它使得 Eclipse 免费可用(尽管便于商业化的许可证意味着插件可能要花钱)。开放源代码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源代码库贡献代码。对此 存在许多原因,不过最本质的原因或许是为这个项目作贡献的开发人员越多,这个项目就会变得对每个人都越宝贵。随着这个项目变得更加有用,更多的开发人员将 会使用它,并围绕它形成一个社区,就像那些围绕 Apache 和 Linux 形成的社区一样。
Eclipse 是什么机构? Eclipse.org 协会管理和指导 Eclipse 正在进行中的开发。在据说 IBM 花了 4000 万美元开发 Eclipse,并把它作为一个开放源代码项目发布之后,Eclipse.org 协会吸收了许多软件工具提供商,包括 Borland、Merant、Rational、RedHat、SuSE、TogetherSoft 和 QNX。从那以后还有其他公司相继加入,包括 Hewlett Packard、Fujitsu、Sybase。这些公司分别向理事会派了一名代表,这个理事会负责确定 Eclipse 项目的方向和范围。 在 最高层,项目管理委员会(Project Management Committee,PMC)管理着 Eclipse 项目。这个项目被划分为多个子项目,每个子项目都有一名负责人。大型子项目又被划分为组,每个组也有一名负责人。目前,这其中的大多数管理角色都由最初开 发 Eclipse 的 IBM 子公司 Object Technology International (OTI)的人担任,但是作为一个开放源代码的项目,它欢迎任何人的参与。任何特定部门的职责是通过该部门对项目的贡献来争取的。 现在我们已经考察了 Eclipse 背后的一些理论、历史和管理,下面让我们考察该产品本身。
Eclipse 工作台 在第一次打开 Eclipse 时,首先看到的是下面的欢迎屏幕: 图 1. Eclipse 工作台 Eclipse 工作台由几个称为 视图(view)的窗格组成,比如左上角的 Navigator 视图。窗格的集合称为 透视图(perspective)。默认的透视图是 Resource 透视图,它是一个基本的通用视图集,用于管理项目以及查看和编辑项目中的文件。 Navigator 视图允许您创建、选择和删除项目。Navigator 右侧的窗格是 编辑器区域。取决于 Navigator 中选定的文档类型,一个适当的编辑器窗口将在这里打开。如果 Eclipse 没有注册用于某特定文档类型(例如,Windows 系统上的 Navigator 下面的 Outline 视图在编辑器中显示文档的大纲;这个大纲的准确性取决于编辑器和文档的类型;对于 Java 源文件,该大纲将显示所有已声明的类、属性和方法。 Tasks 视图收集关于您正在操作的项目的信息;这可以是 Eclipse 生成的信息,比如编译错误,也可以是您手动添加的任务。 该 工作台的大多数其他特性,比如菜单和工具栏,都应该和其他那些熟悉的应用程序类似。一个便利的特性就是不同透视图的快捷方式工具栏,它显示在屏幕的左端; 这些特性随上下文和历史的不同而有显著差别。Eclipse 还附带了一个健壮的帮助系统,其中包括 Eclipse 工作台以及所包括的插件(比如 Java 开发工具)的用户指南。至少浏览一遍这个帮助系统是值得的,这样可以看到有哪些可用的选项,同时也可更好地理解 Eclipse 的工作流程。 为继续这个短暂的 Eclipse 之旅,我们将在 Navigator 中创建一个项目。右键单击 Navigator 视图,然后选择 New=>Project。 当 New Project 对话框出现时,选择左面的 Java。标准 Eclipse 只有一种 Java 项目类型,名为“Java Project”。如果安装了插件来提供 JSP 和 servlet 支持,我们会从这里看到一个用于 Web 应用程序的附加选项。眼下,请选择 Java Project,在提示项目名称时输入“Hello”,然后按 Finish。 接下来,我们将检查一下 Java 透视图。取决于您喜欢的屏幕管理方式,您可以通过选择 Window=>Open Perspective=>Java来改变当前窗口中的透视图,也可以通过选择 Window=>New Window,然后再选择这个新的透视图,从而打开一个新的窗口。 正如您可能预期的那样,Java 透视图包含一组更适合于 Java 开发的视图。其中之一就是左上角的视图,它是一个包含各种 Java 包、类、jar 和其他文件的层次结构。这个视图称为 Package Explorer。还要注意主菜单已经展开了——并且出现了两个新的菜单项:Source 和 Refactor。
Java 开发环境(JDE) 为试验一下 Java 开发环境,我们将创建并运行一个“Hello, world”应用程序。使用 Java 透视图,右键单击“Hello”项目,选择 New=>Class, 如图 2 所示。在随后出现的对话框中,键入“Hello”作为类名称。在“Which method stubs would you like to create?”下面,选中“public static void main(String[] args)”复选框,然后按 Finish。 图 2. 在 Java 透视图中创建新类 这样将在编辑器区域创建一个包含 图 3. Java 编辑器中的 Hello 类 您会在键入时注意到 Eclipse 编辑器的一些特性,包括语法检查和代码自动完成。在 2.1 版(我曾下载 M2 版来试用过)中,当您键入开括号或双引号时,Eclipse 会自动提供配对的符号,并将光标置于符号对之内。 在其他情况下,您可以通过按 Ctrl-Space 来调用代码自动完成功能。代码自动完成提供了上下文敏感的建议列表,您可通过键盘或鼠标来从列表中选择。这些建议可以是针对某个特定对象的方法列表,也可以是基于不同的关键字(比如 语 法检查依赖增量编译。每当您保存代码,它就在后台接受编译和语法检查。默认情况下,语法错误将以红色下划线显示,一个带白 “X” 的红点将出现在左边沿。其他错误在编辑器的左边沿通过灯泡状的图标来指示;这些就是编辑器或许能为您修复的问题——即所谓的Quick Fix(快速修复)特性。 上面的代码例子在 图 4. Quick Fix 建议 双击该建议就会把建议代码插入到代码中的恰当位置。 一 旦代码无错误地编译完成,您就能够从 Eclipse 菜单上选择 Run 来执行该程序(注意这里不存在单独的编译步骤,因为编译是在您保存代码时进行的。如果代码没有语法错误,它就可以运行了)。这时会出现一个具有适当默认设 置的 Launch Configurations 对话框;请按右上角的 Run 按钮。一个新的选项卡式窗格将出现在下面的窗格(控制台)中,其中显示了程序的输出,如图 5 所示。 图 5. 程序的输出 也可以在 Java 调试器中运行程序。首先双击编辑器视图左端的灰色边沿,从而在调用 图 6. Debug 透视图 首先,请注意该透视图左上角的 Debug 视图。这个视图显示调用堆栈,并且标题栏中有一个工具栏,它允许您控制程序的执行,包括继续、挂起或终止程序、跟踪下一个语句、单步执行下一个语句,或者从方法返回。 右上角的窗格包含许多选项卡式的视图,包括 Variables、Breakpoints、Expressions 和 Display。这里我单击了 Variables 视图,以便我们能够看到 可以通过上下文敏感的帮助,获得关于这些视图的更多信息:单击视图的标题,然后按 F1。
附加插件 除了像 JDT 这样用于编辑、编译和调试应用程序的插件外,还有些可用的插件支持从建模、生成自动化、单元测试、性能测试、版本控制到配置管理的完整开发过程。 Eclipse 标准地附带了配合 CVS 使用的插件,CVS 是用于源代码控制的开放源代码并发版本系统(Concurrent Versions System)。Team 插件连接到 CVS 服务器,允许开发团队的成员操作一组源代码文件,却不会相互覆盖其他人的更改。这里不打算进一步探讨如何从 Eclipse 内部进行源代码控制,因为这需要安装 CVS 服务器,不过支持开发团队而不只是独立的开发,这是 Eclipse 的一个重要的必备特性。 已经可用或已宣布要推出的一些第三方插件包括: 版本控制和配置管理
UML 建模
图形
Web 开发、HTML、XML
应用服务器集成
欲了解可用插件的更完整列表,请参阅 参考资料中的链接。
例子:一个用于 UML 建模的插件 要查看插件的例子,以及查看它是如何与 Eclipse 集成的,请下载流行的 OMONDO EclipseUML(参阅 参考资料中的链接);您需要注册,不过该插件是免费的。这个插件依赖 GEF,即 Graphical Editor Framework,这是另一个 Eclipse 插件。GEF 是 Tools 子项目的一部分。要下载 GEF,请转到 Eclipse Web 站点(参阅 参考资料),选择“downloads”,然后单击“Tools PMC downloads page”链接。注意您需要下载 OMONDO 推荐的 GEF 版本(针对 OMONDO 1.0.2 的是 GEF 2.0 版)。 下 载之后,插件的安装通常是通过解压缩下载文件,并将其内容复制到 Eclipse 插件目录来完成的。在此例中,GEF 需要解压缩到 Eclipse目录(它将自动从该目录进入插件目录)。为安全起见,您可能想将它解压缩到某个临时目录,再相应地从那里复制相关目录。如果 Eclipse 正在运行,您需要停止它然后再重新启动它,这样它才能识别新安装的插件。 一旦 EclipseUML(以及 GEF)安装完成,您就能够像创建一个 Java 类文件一样创建一个类图。在 Java 透视图中,右键单击 Package Explorer 中的“Hello”项目,然后从弹出菜单上选择 New=>Other。New 对话框的左边窗格中将会有一个用于 UML 的新选项。EclipseUML 的免费版本仅支持类图,因此右侧的惟一选项是 UML Class Diagram。请选择 UML Class Diagram,然后为该类图键入一个名称,比如“Hello”: 图 7. Class Diagram 编辑器 编 辑器区域中将会出现一个图形编辑器,它带有用于绘制类图的画布。您可以通过两种方式创建类图:通过将 Java 文件从 Package Explorer 拖放到类图上,从而对现有代码进行逆向工程;或者使用空白类图上面工具栏中可用的绘制工具。要试验第一种方法,请创建一个名为 Person 的新类(使用 File=>New=>Class),然后赋予它下面列出的两个私有属性:
(应该承认,我仅键入了针对 name 和 address 的行。getter 和 setter 方法是通过 Eclipse 自动生成的,即右键单击源代码,然后从弹出菜单上选择 Source=>Generate Getter and Setter。) 请保存并关闭 图 8. Person 类图 要从 UML 创建 Java 类,请单击类图窗口顶部工具栏上的“New class”按钮,即左起第三个按钮,然后单击类图。当 New 类向导打开时,请键入 Adress 作为类名称,然后按 Finish。 您可以右键单击类名称并选择 New=>Attribute,从而给类添加属性。在 New 属性对话框中,请输入属性名称、类型和可见性。然后右键单击类名称并选择 New=>Method来添加方法。 当 您更改类图时,图下面的 Source Editor 窗口将反映所做的更改。最后,您可以单击 Association 按钮(左起第五个),绘制一条从 Person 类指向 Address 类的线段,从而绘制这两个类之间的关系图。这样会调出另外一个对话框,您可以在其中输入关联属性(请参考 EclipseUML 帮助,以了解关于必需信息的更多内容)。完成后的图应该类似如下: 图 9. 关联 这个 UML 插件展示了 Eclipse 插件的几个典型特点。首先,它展示了工具之间的紧密集成。表面上绝对无法看出有多个组件在工作;与 Eclipse 平台和 JDT 的集成是无缝的。例如,当 Person 类被创建时,它显示语法错误是因为它的一个属性 另一个特点是 EclipseUML 利用其他插件提供的功能的能力——在此例中是 GEF 插件,它提供用于开发可视化编辑器的工具。 还有另一个特点涉及 EclipseUML 插件使用多层次功能来分发的方式。支持类图的基本插件是免费的,但是更成熟的版本要付费才能使用。
Eclipse 平台体系结构 Eclipse 平台是一个具有一组强大服务的框架,这些服务支持插件,比如 JDT 和插件开发环境(PDE)。它由几个主要的部分构成:平台运行库、工作区、工作台、团队支持和帮助。 图 10. Eclipse 平台体系结构 平台 工作区 工作台 SWT 已被证明是 Eclipse 最具争议的部分。SWT 比 Swing 或 SWT 更紧密地映射到底层操作系统的本机图形功能,这不仅使得 SWT 更快速,而且使得 Java 程序具有更像本机应用程序的外观和感觉。使用这个新的 GUI API可能会限制 Eclipse 工作台的可移植性,不过针对大多数流行操作系统的 SWT 移植版本已经可用。 Eclipse 对 SWT 的使用只会影响 Eclipse 自身的可移植性——使用 Eclipse 构建的任何 Java 应用程序都不会受到影响,除非它们使用 SWT 而不是使用 Swing/AWT。 团队支持 帮助
Eclipse 的前景 围绕 Eclipse 的开发正处于关键阶段。主要软件工具提供商都参与进来了,并且开放源代码 Eclipse 插件项目的数量正在与日俱增。 可移植、可扩展、开放源代码的框架并不是个新思想(您会想起 Emacs),但是由于它成熟、健壮和优雅的设计,Eclipse 带来了全新的动力。IBM 价值 4000 万美元的世界级软件在开放源代码领域的发布,给业界带来了久违的震撼。 参考资料
关于作者
|
转载于:https://www.cnblogs.com/takuma/archive/2009/05/19/1459927.html
Eclipse 平台入门相关推荐
- eclipse java jde,Eclipse平台入门之一:什么是Eclipse,我们将开始介绍Java 开发环境(JDE)。...
为试验一下 Java 开发环境,我们将创建并运行一个"Hello, world"应用程序.使用 Java 透视图,右键单击"Hello"项目,选择 New=&g ...
- eclipse入门_Eclipse平台入门
编者注: 2007年7月发布了本文的更新版本,标题为" Eclipse平台入门 ".此原始版本将仍然可供参考. 阅读新文章以了解Eclipse中的最新功能. 什么是Eclipse? ...
- [Eclipse]GEF入门系列(六、添加菜单和工具条)
我发现一旦稍稍体会到GEF的妙处,就会很自然的被它吸引住.不仅是因为用它做出的图形界面好看,更重要的是,UI中最复杂和细微的问题,在GEF的设计中无不被周到的考虑并以适当的模式解决,当你了解了这些,完 ...
- 问题合集 ------- 用 Eclipse 平台进行 C/C++ 开发
简介: 我们将概述如何在 C/C++ 开发项目中使用 Eclipse 平台.尽管 Eclipse 主要是一个 Java 开发环境,但其体系结构确保了对其它编程语言的支持.在本文中,您将学习如何使用 C ...
- Eclipse RCP入门
Eclipse RCP入门 zhlmmc 2006-4-23 最近做了一个基于RCP的项目,感受颇深,觉得RCP有希望扭转Java桌面应用的颓势.在项目中积累了一点经验与心得,拿出来与大家分享,希望能 ...
- 关于Eclipse平台的使用和开发第一个SWT程序
IBM把投入巨资开发的Eclipse作为一个开源项目捐献给了开源组织Eclipse.org Eclipse出色而有独创的平台特性,现在仍由IBM子公司OTI(主要从事Eclipse开发的人)继续领导着 ...
- (转)Eclipse平台技术概述
转载:周金根 http://zhoujg.blog.51cto.com/1281471/516833 Eclipse:Eclipse平台技术概述 2010-10-19 13:35:00 标签:Ecl ...
- 《微信公众平台入门到精通》,青龙老贼,详情版本
<微信公众平台入门到精通>,青龙老贼,详情版本 <微信公众平台入门到精通>Vol.1 http://segmentfault.com/a/1190000000356021 ...
- 基于 Eclipse 平台的代码生成技术
Eclipse 的 Java Emitter Templates(JET)一个开源的模板引擎,其功能是在 Eclipse Modeling Framework(EMF)中生成代码. JET 技术介绍 ...
最新文章
- Linux里新建文件/目录的默认权限
- python多个日志模块怎么隔离_在多个模块中使用Python日志logging
- Gitee Pages 静态网页托管服务
- .NET(C#):浅谈程序集清单资源和RESX资源
- SQLite基本语法
- 用html编写ASCII表,HTML ASCII
- C++ stack
- 0x80070079信号灯超时_onedrive下载文件时,出现”0x80070079信号灯超时时间已到”...
- 视觉组学习内容:Zhang-Suen骨架提取算法
- 再看iOS如何使用SM2/SM3/SM4/SM9 方法二:使用http://gmssl.org这个开源密码箱来实现从编译到使用
- WNMP项目环境部署
- 8个输入法高效使用技巧,大幅提升你的打字效率
- 企业微信加密消息体_无代码开发能保障企业系统数据的安全吗?这篇文章为你全面解析!...
- 初级网络工程师这30道面试题一定得会,建议小白收藏!
- leafler如何清除地图上的图标点
- 在线pdf转换成word转换器怎么样
- 七种方式实现垂直居中
- 智能仓库管理系统方案(一)
- 【总结】Java核心技术36讲知识点大纲(转载)
- Ubuntu安装QT Creater和配置
热门文章
- 固态硬盘的工作原理,固态硬盘掉电也能存储数据的原理
- 威高集团有限公司手术机器人在中国品牌日活动现场受高度赞赏
- matlab mcc 参数,matlab中mcc编译器参数的含义
- 十大健康食品和十大垃圾食品
- 推荐一个不错的架构师的网站
- IAAS,PAAS,SAAS
- 李嗣涔教授:挠场的科学
- 工作经历怎么写才能吸引面试官?
- 防止XSS跨站脚本攻击:Java过滤器
- npm ERR path C:\Users\H\Desktop\renren-fast-vue\node_modules\node-sass