在整个 Java™ 开发人员社区,Eclipse 因为行业领先的 Java Development Tools (JDT) 而广为人知。但 Eclipse 构建目的在于促进插件的使用,而且在这一方面,它获得了惊人的成功。探索已经构建到 Eclipse 插件中的一些能力,比如使用 Ruby 等其他语言编程,或者是使用 OpenLaszlo 等环境构建交互式多媒体。
简介
越来越多的 Java 开发人员已经开始欣赏 Eclipse 的 JDT 提供的生产率和质量收益。Eclipse 对编写 Java 代码的支持真是棒极了。它的 Java 编辑器提供了语法高亮显示、格式化、折叠、内容辅助、代码模板等许多功能,我们大多数人都无法想像离开它们会怎么样。它不断增长的可用重构和代码生成功能集合允许您在更高的级别上操作代码,并自动化通常的代码密集型任务和易错任务。而且,在开发完代码并使用 JDT 对编写和执行 JUnit 测试的内置支持对代码进行单元测试之后,可以使用 Eclipse 的一流 Java 调试器调试在运行时遇到的任何问题。
除了 JDT 之外,Eclipse SDK ?? 最流行的 Eclipse.org 下载 ?? 还包含 Plug-in Development Environment (PDE)。PDE 使用特定功能扩展了 JDT 以构建 Eclipse 插件 ?? 基于 Eclipse 的应用程序的基本构造块。事实上,使用由 Eclipse 本身提供的工具能够超越 Java 开发,可扩展现有 Eclipse 应用程序,或者甚至创建全新的应用程序。
所有插件的汇总
如果曾经使用过 Eclipse,可能会遇到术语 “插件”。在架构上,Eclipse 由一个小运行时层构成,其中包含许多功能模块或 Eclipse 术语中所谓的 “插件”。插件是在 Eclipse 应用程序中提供所有功能的组件。它们通过其 API 一起协作来交付最终结果。在 Eclipse 中,甚至最基础的功能,比如查找和启动安装的插件,都封装在插件中。
为了扩展现有 Eclipse 功能或在其上进行构建,插件将具体的扩展 贡献给由其他插件暴露的扩展点。通常,插件专注于特定区域的责任,并通过一个或多个扩展点的方式将其他责任指派给其他插件。例如,一个插件允许您可视地并行比较两个文件的内容,但它不会关心如何读取这些文件甚至如何解释这些文件的结构;这是其他插件的工作。比较两个文件时,该插件首先检查是否有另一个插件可以解释这些文件的结构。如果找到一个,它就会向找到的插件询问有关文件结构的信息,并在比较过程中使用该信息。
可以看到,模块化架构为 Eclipse 提供了巨大的灵活性,并提供了一个可以支持原设计者没有预料到的大量应用程序的平台。
安装 Eclipse 插件
上网查找新插件时,可能会发现它们以可下载档案 ?? zip 或 JAR 文件的形式存在。插件的发布者应该提供安装说明。通常,以 JAR 文件发布的独立插件可以直接保存到 Eclipse 安装(eclipse 目录)中的插件目录中。在一些情况下,多个插件可能打包在一起,档案文件可能将它们放在一个插件目录下。如果是这种情况,则必须将档案文件解压到您的 eclipse 目录中。在安装新插件之后,必须重新启动工作台以便更改生效。
注意:重新启动 Eclipse 工作台 (eclipse -clean) 时,确保将 -clean 添加到命令行中。这将确保您的 Eclipse 插件配置是最新的。
多个插件还可以发布为一个特性(feature)。Eclipse Update Manager 是工作台的一部分,它使用特性概念作为分组相关插件的方式,以便于安装和配置。在这种情况下,您将注意到的惟一差别就是发布的档案文件中包含除插件目录之外的特性目录。
Update Manager 是一个功能强大的工具,用于管理 Eclipse 配置并使之保持最新。有关如何使用 Update Manager 的详细信息,请参阅 Eclipse Help 中的 Workbench User Guide > Tasks > Updating features with the update manager。
万能 IDE
最初发行时,Eclipse 被吹捧为一个万能的工具集成平台,并附带有一组功能丰富的 Java 开发工具。它的愿望是开发工具行业领头人能够采用 Eclipse 作为最佳血统工具的底层平台。
最终,Eclipse 已经履行了它的承诺。可用 Eclipse IDE 插件和甚至整个开发套件的数目在不断增长。Eclipse Foundation 独自监督了许多用其他编程语言和平台扩展原始 Eclipse IDE 的项目的开发。越来越多的公司开始加入 Eclipse Foundation,越来越多的新项目被创建和贡献。
Enterprise Java 和 Web Application Development
虽然开发 J2EE 应用程序通常需要 Java 编程,但也需要其他技术。因此,构建企业级软件需要全新的工具集。
Eclipse Foundation 自己管理 Web Tools Project (WTP),后者试图提供用于开发 J2EE Web 应用程序的工具和工具框架。虽然许多基于 Eclipse 的 J2EE 开发套件在商业市场上出现的时间并不长,但 WTP 相对而言仍是一个新来者。它实际上是以下三个子项目的组合:Web Standard Tools (WST)、J2EE Standard Tools (JST) 和 Java Server Faces (JSF) Tools。
WST 为许多 Web 标准提供了功能丰富的编辑器,这些标准有 HTML、XML、CSS、JavaScript、SVG、XML Schema、XSLT、SOAP、WSDL、SQL,等等。它还支持在一系列 HTTP 服务器上部署和监控 Web 工件。
JST 扩展了该功能集合,支持功能完整的多层 J2EE 应用程序的开发。使用 JST,可以创建使用 JSP 和 servlet 的动态 Web 应用程序,以及 EJB 组件和 Web 服务。还可以编辑所有组件的部署描述符,并在许多受支持的 J2EE 应用程序服务器上的工作台中直接测试运行您的应用程序。
JSF Tools 旨在添加对开发基于 JSF 的 Web 应用程序的支持。它是只具有一个已发布里程碑的新子项目,但已经计划将其包括在 WTP V1.5 发行版中。
许多商业软件开发套件可用于支持 J2EE 应用程序的创建。IBM® Rational® Application Developer for WebSphere® 覆盖了企业软件开发生命周期的几个阶段,其中包括 J2EE 应用程序的设计、开发、测试、部署和配置管理。
为了支持动态 Web 应用程序的创建,BEA 的 Workshop Studio 利用其正在申请专利的 AppXRay 技术,来跟踪和验证应用程序的状态。它还包括 Hibernate-to-EJB3 ORM 映射工作台和对 Spring 框架的支持。
MyEclipse IDE 由 Genuitec 开发,是大型开发套件的低成本备选项。它提供了一组完整的针对开放源码技术(比如 Spring、Hibernate、Tapestry 和 Struts)的 J2EE 开发工具。
桌面应用程序开发
Java 在桌面上的复兴在极大程度上归结于 Eclipse。在还没有成为独占的 Java 桌面平台时,Eclipse 似乎已经促进了 Java 平台本身的改进,并致力于对 Java 作为桌面应用程序可视平台的重新评估。
虽然可以(事实上是许多人的首选)直接在 Java 中创建接口,但使用合适的可视 UI 开发工具可以获得大的生产率收益。Eclipse 空间在一段时间里(至少不是作为 Open-Source 项目时)不存在这种工具的事实被许多人认为是在更大比例上采用 Eclipse 作为富客户机应用程序平台的一个障碍。
Visual Editor 项目的创建目的在于为 GUI 构建器提供框架,但还包括了功能完整的 SWT 和 Swing UI 构建器。Visual Editor 允许程序员使用流行的拖放技术快速有效地创建基于 SWT 和 Swing 的用户接口。尽管这种方法将手工编程从 UI 开发中解放出来,但程序员不必牺牲对结果代码的控制。没有依赖一些外部 UI 描述符文件,Visual Editor 实际上使用 Java 代码作为其 UI 定义格式。也就是说,它解析现有的 Java 用户接口创建代码,并基于开发人员的可视编辑动作对其进行修改或生成新的代码。
许多商业产品的目标是简化 UI 开发。Instantiations 的 WindowBuilder 是这一领域的先驱。除了 Visual Editor 提供的基本功能之外,它还支持高级功能,比如 Eclipse Forms API。Matisse4Eclipse 是 MyEclipse IDE 的一部分,是它实际上将 Sun Microsystems 的 Project Matisse Swing UI 构建器引入到 Eclipse 平台中。
其他平台和编程语言
忠于它作为万能工具集成平台的使命,Eclipse 支持使用非 Java 语言的编程语言进行软件开发。Eclipse Foundation 自己管理 C/C++ Development Tools 项目 (CDT),旨在为 C/C++ 开发人员提供一个在功能和能力上不低于 Java 开发人员所使用环境的环境。目前,CDT 提供了一个 C/C++ 源代码编辑器,具有语法高亮显示、内容辅助、代码完成、基于 GDB 的编辑器、C/C++ 应用程序启动器、搜索引擎、Makefile 构建器和其他许多功能。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
内存数据网格提供商一头扎进Java
10年的时间里,应用性能解决方案提供商Alachisoft一直在用NCache(针对N-Tier和网格计算.NET应用的内存计算和数据网格产品)为.NET社区服务。
-
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高, 直到把内存吃完应用崩溃,但是这个wrapper
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高 […]
-
Google App Engine for Java 对于目前中国需要学习吗?
-
前无古人后无来者的Java平台
开发人员一直在致力于保持Java的活力,经过20年后,我们感觉从来没有更好的、更令人激动的时刻如同Java社区一样。