解析Eclipse和各插件的关系
- 格式:pdf
- 大小:113.69 KB
- 文档页数:2
eclipse的插件安装方法Eclipse的插件机制是轻型软件组件化架构。
在客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Jav a以外的其他语言。
已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。
插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。
Eclipse的设计思想是:一切皆插件。
Eclipse核心很小,其它所有功能都以插件的形式附加于Ecl ipse核心之上。
Eclipse基本内核包括:图形API (SWT/Jface),Java开发环境插件(JDT ),插件开发环境(PDE)等。
Eclipse插件的安装方法大体有以下几种方式:第一种:直接复制法假设Eclip se的安装目录在C:\eclipse,解压下载的ec lipse插件或者安装e clipse插件到指定目录AA(如:c:\AA)文件夹,打开AA 文件夹,在AA文件夹里分别包含两个文件夹fea tures和plugin s ,然后把两个文件夹里的文件分别复制到C:\eclipse下所对应的文件夹下的fe atures和plugin s 下,一般的把插件文件直接复制到eclips e目录里是最直接也是最愚蠢的一种方法!因为日后想要删除这些插件会非常的困难,不推荐使用。
注意:直接将插件包解压到plug ins文件夹下之后,重启eclip se,可能不会加载新的插件。
解决方法是:1、打开命令行,到当前ecli pse的目录下,输入eclip se -clean,重新启动ecl ipse,这样eclip se 就会加上新的插件了。
2、如果插件不能生效,则请将ecli pse\configu ration\org.eclipse.update目录删除后再启动eclip se;你可以在ecl ipse的菜单"Help"-->"About Eclipse SDK"-->"Feature Details" 和"Plug-in Details"中看到新安装的插件。
Eclipse完全手册Eclipse是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的Java 集成开发环境。
作为一套开源工具,可用于构建Web Services、J2EE等各种类型的应用,其所提供的功能不亚于、甚至要超过由专业的集成环境供应商所提供的商业化产品,如JBuilder。
Eclipse最有魅力的地方就在于它的插件体系结构。
在这个体系中重要的概念是扩展点(extension points),也就是为插件提供的接口。
每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。
由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。
在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBench UI插件完成界面的外观显示,Resource Management插件完成维护或生成项目或文件等资源管理工作,而Version and Configuration Management(VCM)插件则负责完成版本控制功能,等等。
虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse 却把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Java development tooling,JDT),也只不过是Eclipse系统中的一个普通插件而已。
整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件。
虽然大多数用户很乐于将Eclipse当做Java IDE来使用,但Eclipse的目标不仅限于此。
Eclipse平台为工具提供者(Tools Provider)提供一套使用机制和一组需要遵循的规则,从而使得开发出的工具之间可以实现无缝的集成。
这些机制通过定义良好的API接口、类和方法提供给用户使用,平台同样为新的工具的开发提供强有力的组件支持(如Plug-in Development Environment,PDE——插件开发环境)。
基于OSGi的Eclipse插件体系结构的研究马晟,张渊,刘德钢(清华大学,软件学院,北京 100084)摘要:Eclipse是一个开放源代码的是基于插件机制开发的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
Eclipse 3.0选择OSGi服务平台规范为运行时架构。
本文以研究Eclipse体系结构为目的背景,介绍了插件技术原理,阐述了OSGi规范,分析了Eclipse的插件体系结构,并对基于OSGi和Eclipse RCP对Eclipse的插件扩展开发进行了研究。
最后我们对比介绍了Firefox的插件机制。
研究表明Eclipse平台的体系结构是一个成熟的、精心设计的并且可以很容易扩展的体系结构。
关键词:OSGi,Eclipse,插件,体系结构Abstract:Eclipse is an open source software development project based on the plug in developing mechanism. It concentrates on supporting a full featured commercial industry platform to build highly integrated tools. Eclipse 3.0 uses OSGi Service Platform Standard as the run time architecture. After learning the architecture of Eclipse, this paper instructs the plug in technology theory, shows the OSGi standard, analysis the architecture of Eclipse based on plug-in mechanism and makes a study on the development of Eclipse plug-ins based on OSGi or RCP. Finally, we introduce the plug-in mechanism of Firefox according to the comparison. The Study presents that the architecture of Eclipse platform is a mature, well designed architecture that is easily extended.Key words:OSGi,Eclipse,Plug in,Architecture目录1. Eclipse体系结构 (3)1.1. 插件技术原理 (3)1.1.1. 插件概念说明 (3)1.1.2. 插件接口的认识 (4)1.1.3. 程序结构及其运行机制 (4)1.2. OSGi体系结构 (4)1.2.1. OSGi概述 (4)1.2.2. OSGi框架 (5)1.2.3. OSGi小结 (9)1.3. Eclipse的插件机制体系结构 (9)1.3.1. Eclipse发展历程 (9)1.3.2. Eclipse体系结构 (9)1.3.3. Eclipse平台运行时与OSGi容器 (10)1.3.4. 插件扩展机制 (11)1.3.5. 插件的生命周期 (13)1.3.6. 插件的依赖性 (14)1.3.7. 插件间通信 (14)2. Eclipse插件机制应用 (18)2.1. 常用的Eclipse插件 (18)2.2. 基于OSGi的插件体系结构设计与实现 (19)演示的功能 (19)体系结构设计 (20)实现原理 (21)运行示意 (21)2.3. Eclipse插件机制扩展——RCP应用 (22)3. Eclipse体系结构与其他插件结构比较 (23)3.1. Mozilla Firefox体系结构 (23)3.2. Mozilla Firefox 扩展分析 (24)install.rdf (25)chrome目录 (25)chrome.manifest文件 (25)4. 结束语 (25)5. 附录 (26)1.Eclipse体系结构1.1.插件技术原理1.1.1.插件概念说明插件是一种遵循统一的预定义接口规范编写出来的程序,应用程序在运行时通过接口规范对插件进行调用,以扩展应用程序的功能。
eclipse的maven插件add dependency的用法Maven是一个流行的项目管理工具,可以帮助开发人员自动化构建、依赖管理和项目报告生成。
而Eclipse是一款广泛使用的集成开发环境(IDE),通过使用Maven插件,我们可以在Eclipse中轻松管理Maven项目的依赖关系。
在Eclipse中,使用Maven插件进行依赖管理非常简单。
其中一个重要的功能是使用"Add Dependency"命令来添加项目依赖关系。
首先,确保已经正确安装了Maven插件,并且在Eclipse的工作空间中已经导入了一个Maven项目。
接下来,按照以下步骤使用"Add Dependency"命令:1. 在Eclipse的项目资源管理器中,找到你想要添加依赖的Maven项目。
2. 右键点击该项目,并选择"Build Path"(构建路径)。
3. 在弹出的菜单中,选择"Configure Build Path"(配置构建路径)。
4. 在弹出的窗口中,选择"Libraries"(库)标签。
5. 点击"Add Dependency"按钮。
6. 在弹出的对话框中,输入你想要添加的依赖项目的相关信息,包括groupId、artifactId和version等。
7. 点击"OK"按钮,确认添加依赖。
通过以上步骤,你就成功地在Eclipse的Maven项目中添加了一个新的依赖。
系统会自动从Maven仓库中下载所需的依赖项,并将其添加到项目的构建路径中。
需要注意的是,添加依赖后,你可能需要刷新你的项目,以便使新的依赖项生效。
通过使用Eclipse的Maven插件,我们可以轻松管理Maven项目的依赖关系,使项目的构建过程更加高效和可靠。
我们可以随时添加、更新或删除依赖项,并且所有的依赖项都会自动下载和管理。
Eclipse入门-- Eclipse的使用简介及插件开发-JSP教程(1)eclipse入门-- eclipse的使用简介及插件开发2001 年11 月ibm 宣布捐出了价值4 千万美金的开发软件给开放源码的eclipse 项目。
如此受青睐的eclipse 是什么样子呢,如何使用呢?本文的第一部分会使你对eclipse有一个初步的认识。
并且,eclipse这个号称未来能进行任何语言开发的ide集大成者,又将如何实现它的这一宏伟目标?第二部分介绍的eclipse的插件开发将是其中的关键所在。
eclipse 是替代ibm visual age for java(以下简称ivj)的下一代ide开发环境,但它未来的目标不仅仅是成为专门开发java程序的ide环境,根据eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。
目前,eclipse已经开始提供c语言开发的功能插件。
更难能可贵的是,eclipse 是一个开放源代码的项目,任何人都可以下载eclipse的源代码,并且在此基础上开发自己的功能插件。
也就是说未来只要有人需要,就会有建立在eclipse之上的cobol,perl,python等语言的开发插件出现。
同时可以通过开发新的插件扩展现有插件的功能,比如在现有的java开发环境中加入tomcat服务器插件。
可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是eclipse 的潜力所在。
虽然目前eclipse项目还没有最后完成,但从已有的版本中已经能领略到eclipse 设计主导思想和主要功能特点。
现在就了解eclipse不但能使广大程序员对这款业界期望很高的ide能一睹为快,更为重要的是如果能参加到eclipse项目的开发中或是阅读它的开放源代码,这对广大程序员来说无疑是一个千载难逢的提高编程水平的好机会。
eclipse计划提供多个平台的版本,象windows,linux,solaris,hp-ux和aix,以下只介绍windows版本。
Eclipse详解1.1 Eclipse的简介1.1.1Eclipse插件开发简介插件的概念读者应该很熟悉,象MP3播放软件WINAMP的皮肤插件、WindowsMedia Player的众多的外观插件、音效插件等等。
但如果你以为插件只能做成为原软件的边角料,那是可以理解的,因为你还没有看到过Eclipse的插件是什么样的。
Eclipse可以全面更新你对插件的概念,它也是对插件概念运用得最彻底最炉火纯青的一个软件。
在第一章我们就介绍了Eclipse的技术特点,Eclipse的内核很小,其他功能都是基于这个内核上的插件,如Eclipse自带的UNIT、ANT等。
而且Eclipse还开放了自己的插件机制,并提供了很好的插件开发环境,让用户可以自己来开发Eclipse的插件。
想知道开发Eclipse的插件能到什么程度吗?看看这些Eclipse上的插件吧:用于UML建模的Together for Eclipse、用于JSP的MyEclipse和Lomboz、IBM的全能开发工具WSAD等等,它们全是Eclipse的插件。
如果微软愿意,也可以把Office软件做成Eclipse的插件。
如果Adobe有兴趣,Photoshop也可以有for Eclipse的插件版,Eclipse中的API Draw2D的绘图功能也是很功的。
Eclipse的各式插件正如雨后春笋般不断冒出,Eclipse已经超越了开发环境的概念,它的目标是做成一个通用的平台,让尽量多的软件做为插件集成在上面,成为未来的集成的桌面环境。
同样我们可以将我们的应用系统写成Eclipse插件,笔者就在2004年参与开发了一个项目管理软件,该软件就是以Eclipse的插件形式开发的。
1.1.2 Eclipse插件开发的优势和不足那么将软件写成插件有什么好处呢?对于用户来说Eclipse的使用环境比较友好,前面介绍的SWT/JFace中还是比较基本的界面元素,象Eclipse中的视图、编辑窗、停泊窗这些界面如果实现呢?如果用Appliction的方式会很麻烦,如果写成Eclipse插件则实现这些界面风格不会吹灰之力。
语言拓展Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
[1]Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。
Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
插件开发环境Eclipse的插件机制是轻型软件组件化架构。
在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。
已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet 和数据库开发。
插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。
Eclipse的设计思想是:一切皆插件。
Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。
在整个 Java™开发人员社区,Eclipse 因为行业领先的 Java Development Tools (JDT) 而广为人知。
但 Eclipse 构建目的在于促进插件的使用,而且在这一方面,它获得了惊人的成功。
探索已经构建到Eclipse 插件中的一些能力,比如使用 Ruby 等其他语言编程,或者是使用 OpenLaszlo 等环境构建交互式多媒体。
简介越来越多的Java 开发人员已经开始欣赏Eclipse 的JDT 提供的生产率和质量收益。
Eclipse 对编写Java 代码的支持真是棒极了。
它的Java 编辑器提供了语法高亮显示、格式化、折叠、内容辅助、代码模板等许多功能,我们大多数人都无法想像离开它们会怎么样。
它不断增长的可用重构和代码生成功能集合允许您在更高的级别上操作代码,并自动化通常的代码密集型任务和易错任务。
而且,在开发完代码并使用JDT 对编写和执行JUnit 测试的内置支持对代码进行单元测试之后,可以使用Eclipse 的一流Java 调试器调试在运行时遇到的任何问题。
除了JDT 之外,Eclipse SDK ——最流行的 下载——还包含Plug-in Development Environment (PDE)。
PDE 使用特定功能扩展了JDT 以构建Eclipse 插件——基于Eclipse 的应用程序的基本构造块。
事实上,使用由Eclipse 本身提供的工具能够超越Java 开发,可扩展现有Eclipse 应用程序,或者甚至创建全新的应用程序。
所有插件的汇总如果曾经使用过Eclipse,可能会遇到术语“插件”。
在架构上,Eclipse 由一个小运行时层构成,其中包含许多功能模块或Eclipse 术语中所谓的“插件”。
插件是在Eclipse 应用程序中提供所有功能的组件。
它们通过其API 一起协作来交付最终结果。
在Eclipse 中,甚至最基础的功能,比如查找和启动安装的插件,都封装在插件中。
Eclipse简介2009-03-26 13:40:29 来源:百度作者:null 编辑:nullEclipse最初是IBM的一个软件产品,前期投入了4000万美金Eclipse最初是IBM的一个软件产品,前期投入了4000万美金。
2001年11月,IBM宣布将其捐给开放源码组织。
目前Eclipse的市场占有率已经超过了Borland公司的JBuilder,成为Java开发平台中的主流。
Eclipse的设计思想是:一切皆为插件。
它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。
Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFace,在此之前,我曾经用过Java 的AWT/SWING来开发Windows应用程序,AWT/SWING 其界面客观地讲不够美观,而且界面响应速度比较慢;而SWT/JFace则大大改善了Java在这方面的能力。
二是它的插件机制。
三是利用它的插件机制开发的众多功能强大的插件。
二、Eclipse平台体系结构Eclipse 平台是一个具有一组强大服务的框架,这些服务支持插件,比如Java 开发环境插件(JDT)、插件开发环境(PDE)和其他的第三方插件(New tool)。
它由几个主要的部分构成:平台运行库、工作区、工作台、团队支持和帮助。
平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。
为降低启动时间和资源使用,它在实际需要任何插件时才加载该插件。
除了内核外,其他每样东西都是作为插件来实现的。
工作区是负责管理用户资源的插件。
这包括用户创建的项目、那些项目中的文件,以及文件变更和其他资源。
工作区还负责通知其他插件关于资源变更的信息,比如文件创建、删除或更改。
工作台为 Eclipse 提供用户界面。
它是使用标准窗口工具包(SWT)和一个更高级的API(JFace)来构建的;SWT 是 Java 的 Swing/AWT GUI API 的非标准替代者,JFace则建立在 SWT 基础上,提供用户界面组件。
ECLIPSE介绍ECLIPSE是一个开源的集成开发环境(IDE)工具,它提供了用于编写、调试和部署应用程序的完整工具套件。
ECLIPSE最初由IBM公司于2001年推出,现在由Eclipse基金会管理和维护。
ECLIPSE的目标是成为一个可扩展和通用的开发平台,可以用于开发各种类型的应用程序,包括Java、C++、Python等等。
以下是ECLIPSE的一些关键特点:2. 跨平台:ECLIPSE可以在多个操作系统上运行,包括Windows、Mac OS和Linux等。
这使得开发者可以在他们喜欢的操作系统上使用ECLIPSE进行开发,而不受平台约束。
3.可扩展性:ECLIPSE提供了丰富的插件和扩展机制,使开发者能够根据自己的需求灵活地扩展和定制IDE。
无论是添加新的功能、整合第三方工具还是创建自己的插件,ECLIPSE都提供了相应的工具和文档来支持。
5.调试和测试工具:ECLIPSE提供了强大的调试和测试工具,使开发者能够快速定位和修复代码中的问题。
开发者可以在代码中设置断点,逐步执行代码,并查看变量的值和程序的执行流程。
此外,ECLIPSE还支持各种类型的单元测试、集成测试和性能测试,以帮助开发者确保代码质量和性能。
6. 版本控制和团队协作:ECLIPSE集成了多种版本控制系统,包括Git、SVN等,使开发者可以方便地对代码进行版本控制和管理。
此外,ECLIPSE还提供了用于团队协作的工具,如代码审查、任务管理和团队开发等,使团队成员能够协同工作。
7. 丰富的插件生态系统:ECLIPSE拥有一个庞大的插件生态系统,涵盖了各种开发工具和框架。
开发者可以根据自己的需求选择和安装各种插件,扩展和丰富ECLIPSE的功能。
无论是用于Web开发、移动应用开发还是数据分析,都可以在ECLIPSE的插件市场中找到相应的工具和框架。
总之,ECLIPSE是一个功能强大、可扩展和通用的开发环境工具,适用于各种类型的应用程序开发。
ECLIPSE介绍Eclipse是一个开源的集成开发环境(IDE),主要用于Java开发。
它是由Eclipse基金会开发并维护的,可以在多个操作系统上运行,如Windows,MacOS和Linux。
Eclipse最初是为Java开发而设计的,但它已经延伸到了其他语言,如C,C++,PHP,Python等。
它提供了许多功能强大的工具和插件,以帮助开发人员在一个集成的环境中完成开发工作。
Eclipse的界面简洁、直观,工具和视图可以通过拖拽和调整大小来自定义。
它采用了插件体系结构,使得开发者可以根据需求随时添加或删除工具和功能。
这使得Eclipse成为一个高度可扩展的IDE,可以满足各种不同的开发需求。
Eclipse还提供了源代码管理(SCM)工具的集成,比如Git,Subversion等。
这使得开发人员可以轻松地管理和共享他们的代码库,并与团队成员进行协作开发。
Eclipse还支持项目管理工具,如Maven和Ant,以帮助开发人员轻松构建和部署他们的应用程序。
Eclipse的一个主要特点是它的插件生态系统。
有成千上万的第三方插件可供选择,从而扩展了Eclipse的功能。
这些插件包括代码分析工具,测试框架,数据库管理工具等。
开发人员可以根据自己的需求选择并安装这些插件,使得Eclipse成为一个高度定制化的开发环境。
与其他IDE相比,Eclipse最大的优势之一是它的社区支持。
Eclipse拥有一个庞大的开发者社区,他们为Eclipse开发插件和工具。
开发人员可以通过访问Eclipse官方网站和论坛,获得帮助和支持。
此外,Eclipse还定期发布更新和修补程序,以确保IDE的稳定性和安全性。
Eclipse插件开发之基础篇(1)Eclipse插件开发之基础篇(1) 插件开发的基础知识名词翻译有一些名词在翻译的过程中可能会出现歧义,在这里统一一下。
アーキテクチャ=architecture=架构プラットフォーム=platform=平台コンポーネント=component=组件其余的随时补充。
1.Eclipse的架构Eclipse被作为java的IDE(集成开发环境)被广泛的应用,但是从本质上看Eclipse是一个整合了各种开发工具的平台。
因此,它采用了可以自由的增加各种功能的插件架构技术。
Eclipse平台的基本架构如图1-1所示。
图1-1 Eclipse的架构在这里,在最底层位置的是作为Eclipse插件架构基干的OSGi运行时。
虽然在早期的Eclipse版本中已经开始使用插件架构了,但是在Eclipse3.0的时候才首次引入了OSGi。
OSGi是open services gateway initiative的简称、原本是一种为嵌入式硬件开发的,使网络上的服务提供者和使用者交互(結びつける)的注册服务。
Eclipse使用OSGi来进行插件的管理。
OSGi运行时之上所有被配置的组件群都是以插件的方式提供的。
SWT和JFace提供了用户接口(User Interface)的API。
由于SWT和JFace并不依赖于Eclipse,也有可能被作为类库单独使用。
Eclipse不仅把基本的用户接口作为工作台API(WorkBench API)提供出来,在后面要讲到的工作区(Workspace)内的资源通过资源API(Resource API)的形式也被作为基本API提供出来了。
在这之上构建起了帮助系统以及基于更新管理器的自动更新等功能。
从Eclipse平台的角度看,SWT、JFace、工作台的部分就是EclipseRCP(Rich Client Platform)。
EclipseRCP是基于Eclipse的富客户端技术,Eclipse不仅是一个开发工具,也可以作为一个通用的应用程序平台。
eclipse模块概念Eclipse作为一款强大的集成开发环境(IDE),在软件开发领域广受欢迎。
而Eclipse的模块概念是其架构的核心部分,本文将对Eclipse模块概念进行详细的介绍,帮助读者更好地理解和使用Eclipse。
一、什么是Eclipse模块?Eclipse模块是Eclipse中的一种基本构建单元,也是Eclipse插件的扩展点。
它允许开发者将代码和资源组织为更小的功能部件,并能够在Eclipse中进行模块化开发。
每个模块都可以由一个或多个插件组成,而每个插件则代表着特定的功能或资源。
二、Eclipse模块的组成一个Eclipse模块由以下几个主要部分组成:1. 插件清单(Plugin Manifest):模块的描述信息,包括模块的名称、版本、作者等基本信息。
2. 插件类(Plugin Class):插件的核心逻辑代码,实现了该模块的具体功能。
3. 扩展点(Extension Point):定义了模块对外部插件的扩展接口,允许其他插件通过扩展来增强模块的功能。
4. 扩展(Extension):其他插件通过扩展点扩展的具体实现,用于向模块添加新功能或资源。
5. 贡献(Contribution):模块对外部插件扩展点的具体贡献,实现了扩展点定义的接口,并向模块注册了自己的功能或资源。
三、Eclipse模块的好处使用Eclipse模块可以带来以下几个好处:1. 模块化开发:通过将代码和资源组织为独立的模块,开发者可以更好地实现功能的复用和模块的维护。
同时,模块的独立性也提高了代码的可读性和可维护性。
2. 扩展性:Eclipse模块的扩展性非常强大,可以通过扩展点和扩展来灵活地增加和修改模块的功能。
这使得开发者可以根据自己的需求,定制Eclipse的功能,满足个性化的开发需求。
3. 插件生态系统:Eclipse模块的设计使得插件的开发和集成变得更加便捷。
开发者可以通过Eclipse插件市场获取其他开发者共享的插件,实现对不同功能需求的完美补充。
1.Eclipse简介俗话说:工欲善其事,必先利其器,想要快速高效的开发,选择好的开发工具是非常重要的。
1.1 历史背景Eclipse 这样功能完整且成熟的开发环境,是由蓝色巨人IBM 所释出。
IBM 花了 4 千万美金来开发这个IDE(Integrated Development Environment)。
第一版 1.0 在2001 年11 月释出,随后逐渐受到欢迎。
Eclipse已经成为开放原始码计划(Open Source Project),大部分的开发扔然掌握在IBM手中,但是有一部份由的软件联盟主导。
() Eclipse 项目由Project Management Committee(PMC)所管理,它综观项目全局,Eclipse 项目分成3 个子项目:∙ 平台-Platform∙ 开发工具箱-Java Development Toolkit(JDT)∙ 外挂开发环境-Plug-in Development Environment(PDE)这些子项目又细分成更多子项目。
例如Platform 子项目包含数各组件,如Compare、Help 与Search。
JDT 子项目包括三各组件:User Interface(UI)、核心(Core)及除错(Debug)。
PDE 子项目包含两各组件:UI 与Core。
1.2 开发原始码软件Eclipse 是开放原始码,结果很多人在使用的时候都不注重合法权的问题。
开放原始码软件让使用者能够取得软件的原始码,有权去修改和散布这个软件。
如果想修改软件,这件事的另一面就是,除非其它人对修改后的软件也有相同的权力,否则是不能散布修改后的软件,这种权利和著作权(copyright)相反,开放原始码项目中有时称之为著作义(copyleft)。
有些开放原始码许可书,坚持要求任何和其它开发原始码合组成的软件也必须是开放原始码。
然而,Eclipse 使用的开放原始码许可书:公共公众许可书-Common Public License(CPL)作为授权方式,设计上是可以容许商业利益的。
Eclipse 插件开发的一个关键概念是扩展点(Extension Point)。
Eclipse 是一个开放的集成开发环境(IDE),通过插件机制,允许开发者扩展和定制Eclipse 功能。
扩展点是这一机制的核心,它允许开发者在现有功能基础上添加自定义功能。
以下是Eclipse 插件开发中关于扩展点的概述:1. 什么是扩展点?定义:扩展点是插件定义的一种标记或接口,用于允许其他插件在运行时提供额外的功能或信息。
作用:通过扩展点,插件可以向Eclipse 平台注册其特定的功能,并与其他插件共享数据和行为。
2. 扩展和插件之间的关系:插件:Eclipse 中的每个功能都被组织为一个插件。
插件可以包含一个或多个扩展点。
扩展:插件通过扩展点来定义和提供额外的功能。
其他插件可以通过扩展点来访问这些功能。
3. 扩展点的定义:扩展点定义:插件通过扩展点定义描述其支持的扩展点。
这些定义通常包括扩展点的名称、ID、描述以及可接受的扩展内容等信息。
4. 扩展的注册:注册扩展:插件通过扩展点的注册,将其功能注册到Eclipse 平台。
这通常在插件的plugin.xml 文件中完成。
5. 示例:以下是一个简化的扩展点定义示例,该示例用于定义一个视图(View)的扩展点:xmlCopy code<extension-point id="sample.viewExtension" name="Sample View Extension" schema="schema/viewExtension.exsd" />在其他插件中,可以通过扩展该扩展点来定义和注册新的视图。
6. 运行时动态性:扩展点的强大之处在于其运行时动态性。
新的插件可以随时添加到Eclipse 中,而不需要修改现有代码。
7. API 和扩展点交互:插件可以通过Eclipse 提供的API 访问和操作其他插件提供的扩展点。
Eclipse 可以与任何一种IDE匹敌,甚至比它们还要好。
Eclipse 有代码补足、代码模板的功能,以及对重构、Ant、CVS 和 JUnit 的支持。
除了这些基本功能之外,Eclipse 的优点之一就是它的源代码是开放的,可扩展性很好,可以扩充很多插件,开源插件和商业插件都可以用来扩充 Eclipse。
如果用户需要基本的 Eclipse IDE 所不具备的特性,一般都可以找到需要的插件。
在大部分情况下,用户都可以找到免费的插件。
由于 Eclipse 的流行性和开源特性,它已经在 IDE 领域成为一把尖刀,一方面,Eclipse 在一步一步完善自己的功能,另一方面,Eclipse正在大刀阔斧抢占IDE开发的应用领域。
数据表明Eclipse是现在最流行的Java开发环境之一,为了更好的使用Eclipse进行开发,就有必要了解Eclipse插件的机制,以及如何安装和使用插件。
Eclipse插件Eclipse 是一个已经完全设计好的平台,是用于构建和集成应用的开发工具。
平台本身不会提供大量的最终用户功能,平台的价值在于它的促进作用:根据插件模型来快速开发集成功能部件。
平台本身是内置在插件层中的,每个插件定义下层插件的扩展,同时对自己的扩展进行进一步的定制。
每种类型的扩展允许插件开发者向基本工具平台添加各种功能,每个插件的部件(例如文件和其他数据)由公共平台资源来协调。
Eclipse最有魅力的地方就是它的插件体系结构,由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。
Eclipse的核心是动态发现、懒惰装入(Lazy)与运行的,平台用户界面提供标准的用户导航模型。
于是每个插件可以专注于执行少量的任务,例如定义、测试、制作动画、发布、编译、调试和图解等,只要用户能想象得到的就会应有尽有。
当Eclipse插件实现了一个扩展点,就创建了一个扩展,此外,使用此扩展点的插件还可以创建自己的扩展点。
-------------------------------------------------------eclipse插件开发快速入门刚才我在修理自己的汽车,我需要拧下一个螺丝。
于是我打开自己的扳手工具包,试图找到合适的扳手。
但是那些扳手的型号都不对,因为那个螺丝都属于公制标准的。
我只能使用与理想尺寸最相近的扳手。
这是一个不好的想法;结果我把那个螺丝弄裂了,只好去买一个专用的工具来下掉它。
这个故事的精髓是:实现特定的事务永远需要使用恰当的工具。
Eclipse是一个非常流行的Java集成开发环境(IDE),它是NetBeans/SunOne Studio、Jbuilder、和IntelliJ IDEA的强有力的竞争者。
Java程序员群体正在迅速地迁移到Eclipse上,因为它是免费的、开放源代码的、质量很好,而且非常容易定制。
本文的内容是如何在Eclipse中编写插件(plugin)。
本文的目标读者是哪些人呢?很多Eclipse用户简单地使用IDE而不需要进行定制;很多人会使用他人建立的插件,这些人不是本文的目标读者。
有些用户希望定制Eclipse;有些人将为他们公司的雇员开发工具;有些人希望销售与自己的产品相关的工具;还有一些人希望使用其它名称转售预安装了某些工具的Eclipse。
这些人组成了本文的目标受众。
开始编写Eclipse插件的前提条件是了解如何使用Eclipse和编写Java程序,并且对标准Widget工具包(SWT)有很好的理解。
安装Eclipse如果你已经使用了Eclipse 3,那么可以跳过这一段落。
如果没有安装该软件,你首先需要下载和安装它。
你可以简单地从Eclipse下载页面下载最新的稳定版本,接着把下载的文件解压到一个文件夹中(例如c:dev)。
在写作本文的时候,这个文件是eclipse-SDK-3.0.1-win32.zip(85MB)。
这个过程会建立c:deveclipse文件夹。
Eclipse插件开发入门.Eclipse最有魅力的地方就是它的插件体系结构。
在这个体系中重要的概念是扩展点(extension points)。
扩展点就是在软件开发过程中暴露出来的接口。
每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。
简介Eclipse 平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数为4 000万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的、可扩展的体系结构。
Eclipse 的价值是它为创建可扩展的集成开发环境提供了一个开放源码平台。
这个平台允许任何人构建与环境和其他工具无缝集成的工具。
工具与Eclipse无缝集成的关键是插件。
除了小型的运行时内核之外,Eclipse中的所有东西都是插件。
从这个角度来讲,所有功能部件都是以同等的方式创建的。
由于有了插件,Eclipse系统的核心部分在启动时要完成的工作十分简单:启动平台的基础部分和查找系统的插件。
整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,在现有插件上还可以再加插件。
开发“Hello,world”插件创建插件最简单的方法是使用Eclipse中专门为开发插件而设计的插件PDE(Plug-in Development Environment)。
PDE 和 Java Development Tooling(JDT)IDE是 Eclipse 的标准扩展。
PDE 提供了一些向导可以帮助创建插件。
下面的“Hello,world”插件将通过PDE进行开发。
下面是创建一个简单插件的操作步骤。
(1)运行Eclipse。
单击Eclipse的“File”→“New”→“Other”菜单项,在弹出的对话框中选择Select对话框左边的Plug-in Development向导。
如图1所示,选择Plug-in Project。
Eclipse 插件extension 的解析.感觉这个有点象spring 的配置文件.Plugin 就象beans 反正一个插件里面有一个了..然后.这个extension 这个有点意思.这说明是一个扩展点.是的.这个谁都知道.但是,一个扩展点下面,到底有什么,有几个,这个其实是完全没有定义的.<extensionpoint="org.eclipse.ui.newWizards"><categoryname="马codeWizard"id="com.dearmite.eclipse.codegen"></category><wizardname="hf_projectWizard"icon="icons/block--pencil.png"project="true"category="com.dearmite.eclipse.codegen"class="com.dearmite.eclipse.projectgen.wizards.HfProjectC reationWizard"id="com.dearmite.eclipse.projectgen.wizards.ProjectGenNew Wizard"></wizard><wizardname="hf_codeWizard"icon="icons/block--pencil.png"category="com.dearmite.eclipse.codegen"class="com.dearmite.eclipse.codegen.wizards.CodeGenNewWiz ard"id="com.dearmite.eclipse.codegen.wizards.CodeGenNewWizard "></wizard></extension>这个文件,跟下面的是一个效果.<extensionpoint="org.eclipse.ui.newWizards"><categoryname="马codeWizard"id="com.dearmite.eclipse.codegen"></category><wizardname="hf_projectWizard"icon="icons/block--pencil.png"category="com.dearmite.eclipse.codegen"class="com.dearmite.eclipse.projectgen.wizards.ProjectGen NewWizard"id="com.dearmite.eclipse.projectgen.wizards.ProjectGenNew Wizard"></wizard></extension><extensionpoint="org.eclipse.ui.newWizards"><categoryname="马codeWizard"id="com.dearmite.eclipse.codegen"></category><wizardname="hf_codeWizard"icon="icons/block--pencil.png"category="com.dearmite.eclipse.codegen"class="com.dearmite.eclipse.codegen.wizards.CodeGenNewWiz ard"id="com.dearmite.eclipse.codegen.wizards.CodeGenNewWizard "></wizard></extension>就是把这三个东西分别写在三个<extension> 里也是可以运行的.但是,一些开源的插件,他们是按着第二种写法写的..这点是一般的spring的配置文件比不了的了..他们如此的灵活.基本上就是挂上就行.反正,几个标签都是同一个扩展点的..。
电脑编程技巧与维护1引言随着Internet的迅猛发展,特别是万维网(WWW)技术成功广泛的应用,基于网络软件系统的构建所采用的技术已经由早期的基于C/S模式转变成现在的基于B/S模式。
现在应用系统的开发技术存在两大主流:一个是以Mi-crosoft的.NET体系,另一个是以J2EE为核心的SUN-ONE战略。
在这两套体系中,基于Web的技术都在被加强,以便能够支持B/S模式的应用系统的开发和应用。
.NET的Web开发技术以为代表,而SUN的Java体系推出的则是JSP/ Servlet/JavaBean/Struts/Hibernate技术。
得心应手的集成化开发环境(IDE:Integrated Develop-ment Environment)是开发人员得力的武器。
Eclipse作为一款免费的、开放源代码的、可以无限扩展的Java程序开发框架而深受开发人员的青睐。
利用Eclipse能够将各种开发工具以插件的形式,无缝地拼接到一个统一的平台上,使得开发人员能够在一个平台上轻易地完成各种应用系统的编码、编译、调试和运行,并且还能将任意一种开发工具和组件以插件的形式加入到Eclipse平台中。
大量与日俱增的插件使得Eclipse的功能越来越强大,所能支持的开发架构也越来越多,而同时也给初学者带来很多困扰。
经常有这样的询问:要不要安装JDK或Tomcat?开发Web项目要不要使用Struts?针对这一系列的问题,给出一个比较浅显和全面的分析。
暂时撇开技术细节,也不关注E-clipse本身的体系结构和利用Eclipse来进行开发的具体过程,而是从应用系统项目的目标和各种插件的用途的角度,全面地分析Eclipse架构中各种开发技术和插件之间的关系。
2Eclipse架构中的各种插件2.1插件与Eclipse之间的关系插件(plug-in)是一种遵循一定规范的应用程序接口编写出来的程序[1]。
插件与组件不同。
组件一般是指在开发程序时所使用的控件、对象,这些控件、对象一般可以直接使用,其目的是封装和重用。
而插件的目的是通过在原有的开发或运行环境中安装不同的插件以便扩展和增强原有软件的功能。
从这一方面来说,安装插件的平台必须精心设计,要具有良好的可扩展性。
Eclipse就是这样一款插件平台。
而且,Eclipse不但支持无缝地拼接大量的插件,而且还支持用户自己利用Eclipse开发自己的插件。
Eclipse本身主要包含3个子项目:平台子项目、Java开发工具(JDT-Java)子项目和插件开发环境(PDE-Plug-in)子项目。
平台子项目为各种插件的加入提供了一个统一的可扩展的无缝拼接平台,JDT-Java子项目中提供了Java应用程序编程接口,因此,使用Eclipse可以直接对Java层序进行编写、编译、运行和调试,从而开发出JDT程序。
PDE-Plug-in子项目为插件的开发和测试提供了相应的环境,使得开发人员可以根据自己的需要选择将已有的插件集成到Eclipse平台上还是自己开发插件。
2.2Eclipse与JDK之间的关系JDK是一种用于构建在Java平台上发布的应用程序、ap-plet和组件的开发环境,包括Java编译器、JVM、Java工具、Java基础API和类库。
JDK分为J2EE、J2SE、J2ME三个不同版本的平台,分别用于企业级、标准版和微型平台的Java应用的开发。
三个平台上所使用的开发语言完全相同,所不同的是JDK中所捆绑的库不同,也就决定了其所支持的应用不同。
Eclipse本身就是一个基于Java平台的开发环境,它本身就要运行在Java虚拟机上,而且还要使用JDK的编译器,因此,使用Eclipse本身就是来开发Java应用程序的,所以首先必须安装JDK。
解析Eclipse和各插件的关系敬晓芳(中国工程物理研究院化工材料研究所,绵阳621900)摘要:采用Eclipse架构,针对JSP技术开发B/S模式应用的初学者常见的疑惑和问题,从开发目标和插件作用的角度,对Eclipse架构所涉及到的各种插件的功能以及与Eclipse平台的关系进行了详细分析。
关键词:Eclipse;JDK;JSP;Tomcat;Struts;HibernateShallowly Analysis of the Relationship Between the Eclipse and His Plug-insJING Xiaofang(Institute of Chemical Materials,China Academy of Engineering Physics,Mianyang621900)Abstract:This article for the adoption of the Eclipse,JSP application B/S mode of the Starter common doubts and questions, from the development goals of the effect of point of view,detailed analysis of the Eclipse and its relationships between vari-ous plug-ins.Key words:Eclipse;JDK;JSP;Tomcat;Struts;Hibernate本文收稿日期:2009-11-0624--软件开发与设计SOFTWARE DEVELOPMENT AND DESIGN2.3Eclipse与Tomcat之间的关系Tomcat是JSP和Servlet的运行平台,要想在Eclipse平台上使用JSP来开发Web项目,就必须在Eclipse中安装Tomcat 插件,Tomcat也是免费、开源的。
最初的Internet只能基于HTTP协议和HTML页面提供静态的超文本服务。
WWW的出现使得Internet迅猛发展。
而WWW则是以动态的形式向人们提供了超媒体的Web服务。
JSP是一种动态网页技术标准,是流行的动态网页技术之一。
JSP通过脚本的方式在普通的HTML中嵌入Java代码,从而实现动态性。
Servlet是Java技术对CGI进行编程的其中一种语言,高效易用,可移植性好,并且功能强大。
JSP是作为一件简化Servlet开发的替代技术出现的,能够更好地与HTML 融合在一起。
Tomcat首先将JSP转化为Servlet,然后再调用Java将Servlet编译为Class文件,由服务器去解释执行。
Tomcat不仅仅只是一个Servlet容器,还具有传统的Web 服务器的功能,能够处理HTML页面,优势是能够快速地处理动态页面,但在处理静态页面时,Tomcat的能力就不如A-pache了。
因此,常常有人将Tomcat和Apache结合起来实现Web服务器,让Apache处理静态的HTML,而让Tomcat专门处理JSP和Servlet这样的动态部分[2,3]。
此外,为了精简JSP页面的代码量,合理处理复杂的业务逻辑,增强代码的重用性和可移植性,在使用JSP构建动态网站的时候通常还会借助Java中的另一种组件技术———Jav-aBean。
采用了JavaBean技术的JSP开发模式称为两层(JSP+ JavaBean)的Model2模式。
在这种模式中,JSP用于构建数据显示页面,而数据处理(连接数据库等)则交给JavaBean技术,并且,相同功能的代码封装到一个JavaBean中可以被不同的页面使用,具有很好的代码重用性[4]。
快速地开发小规模的项目时可以直接采用JSP,将所有的任务都交由JSP处理,而在稍微复杂一点的应用中就需要采用Model2模式,大型的复杂项目则需要采用后文中将要提到的Struts三层和Hi-bernate四层甚至多层模式了。
这里需要提到的另一个插件是Lomboz插件。
Lomboz不是开发和运行所必须的,但是,在Eclipse里安装该插件将大大增加开发效率,因为,Lomboz具有如下几种功能:(1)HTML标记和JSP关键字的高亮显示。
(2)实时的屏幕提示。
(3)基本的语法检查。
此外,还支持EJB应用的开发[1]。
2.4Eclipse与Struts软件构架目前,广泛流行的Web项目设计开发模式是MVC模式。
对于复杂的大型Web应用项目,采用MVC模式可以很好地实现代码重用和扩展定制,也能让开发人员将主要精力集中在如何解决实际业务处理问题上,从而缩短开发周期,提高开发效率。
而Struts是MVC模式的一种具体实现,是建立在当今Java Web应用开发领域中JSP、Servlet、SML等相关开发技术基础上的一种主流开发架构。
要在Eclipse中进行基于Struts架构的Java Web应用程序的开发,除了前文中提到的那些插件外,还需要Struts框架工具集。
添加Struts框架工具集很简单,只需要将该工具集下载后安装到Servlet的容器里。
2.5Eclipse与HibernateHibernate是一个开源的面向Java开发环境的对象关系映射框架。
它通过对JDBC的轻量级对象封装,使得Java程序员可以随心所欲地使用对象编程思维来操纵数据库。
Hibernate 提供了数据查询和获取数据的方法,完成在Java程序与数据库之间的转换,Java程序员只需要实现定义好对象与数据库表格之间的关系就可以了,因此可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
如果要在Eclipse中进行基于Hibernate架构的开发,就需要下载Hibernate压缩包来安装在Eclipse平台上。
2.6Eclipse与MyeclipseEclipse是一个装各种插件的平台,而Myeclipse则是将开发者最常用的到关于Eclipse的插件放在一起的一个集合,用户提供一种高级编程环境,使得Eclipse开发员能够轻松地完成Struts、Hibernate等架构的布局,但是Myeclipse是收费的。
Myeclipse分插件版和ALL IN ONE版两种版本。
插件版能够一次性地在Eclipse中安装多个插件。
而在ALL IN ONE 版中集成了JDK、Tomcat、Eclipse,这样,安装了Myeclipse 就不用再单独安装JDK、Tomcat和Eclipse了,这使得开发员可以快速地安装出一个具有常用插件的Eclipse环境。
当然,为了JDK后续的升级和更新或其他的一些考虑,也可以单独安装JDK和Tomcat。
3结语Eclipse是一款技术成熟功能强大的Java应用程序开发框架,同样也深受开发Web应用的JSP程序员的青睐。