知识大全 Eclipse入门之使用指南及开发Eclipse插件 (2)

Posted 项目

篇首语:梦想不大, 道路很长,开始了就别停下。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Eclipse入门之使用指南及开发Eclipse插件 (2)相关的知识,希望对你有一定的参考价值。

Eclipse入门之使用指南及开发Eclipse插件 (2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  如果启动正常 可以进一步尝试在Eclipse中调试Servlet或JSP程序 下面我们将用Tomcat自带的Servlet例程HelloWorldExample java来示范一下如何在Eclipse中调试Sevlet程序 首先要在Java视图中新建一个Java项目 为了方便 可以直接将项目路径指定到HelloWorldExmaple程序所在路径 之后按 Next 进入Java Settings对话框 选择Libraries标签 并用Add External JARs按钮来指定Servlet jar包的位置 这里直接用了Tomcat中的Servlet jar包     最后 点击 Finish 完成项目的生成 在新生成项目中的default package可以找到HelloWorldExample java 双击打开文件 并可尝试给HelloWorldExample加上一个断点(双击编辑窗口左侧边界) 之后在外部浏览器中输//localhost: /examples/servlet/HelloWorldExample 再回过来看Eclipse发生了什么变化 是一个调试窗口呀!在Eclipse中进行的调试操作和绝大多数的IDE大同小异 如设置断点 单步跟踪 变量值察看等等 在这里也就不用再详述了     Eclipse最有魅力的地方就是它的插件体系结构 在这个体系中重要的概念是扩展点(extension points) 也就是为插件提供的接口 每一个插件都是在现有的扩展点上开发 并可能还留有自己的扩展点 以便在这个插件上继续开发     由于有了插件 Eclipse系统的核心部分在启动的时候要完成的工作十分简单 启动平台的基础部分和查找系统的插件 在Eclipse中实现的绝大部分功能是由相应的插件完成的 比如WrokBench UI插件完成界面的外观显示 Resource Management插件完成维护或生成项目或文件等资源管理工作(在下面的第二个例子就会用到这个插件) 而Version and Configuration Management (VCM)插件则负责完成版本控制功能 等等 虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能 Eclipse却也把它们都做成了插件模式 甚至用来开发Java程序的开发环境(Java development tooling JDT)也只不过是Eclipse系统中的一个普通插件而已 整个Eclipse体系结构就象一个大拼图 可以不断的向上加插件 同时 现有插件上还可以再加插件 下面的插件开发示例就是在WorkBench UI插件中的观察窗口扩展点上开发的     本文第一部分介绍过Eclipse的开发界面其中之一就是观察窗口 它通常配合编辑窗口显示一些有用的信息 在这里我们只简单生成一个显示欢迎信息的观察窗口 假设新插件的名子叫Wele     第一步 先用向导新建一个Java项目 我们可以在菜单栏选择FileàNew 或用工具栏的向导按键 或是在资源窗口用鼠标右键菜单中的New 打开向导对话框 然后用缺省方式创建项目 并在项目中建立一个Wele java文件 代码如下     package nidapeng eclipse plugin;  import eclipse swt widgets Composite;  import eclipse swt widgets Label;  import eclipse swt SWT;  import eclipse ui part ViewPart;  public class Wele extends ViewPart   Label label;  public Wele()     public void createPartControl(Composite parent)   label = new Label(parent SWT WRAP);  label setText( Wele to Eclipse );    public void setFocus()         为使这个程序能正常编译 要配置它的编译环境 即指定所需的CLASSPATH 在Eclipse中可以用几种方法 常用的是两种 第一是在资源窗口或Java包窗口选中该项目 点击鼠标右键 在打开的菜单中选择属性(Properties) 之后在属性对话框中选择Java Build PathàLibraries 用Add External JARs功能添加三个包 它们都是Eclipse的现有插件的类包 可以在 你的Eclipse安装路径plugins 下面的相应路径中找到 分别是re runtime插件中的runtime jar eclipse swt中的swt jar和 eclipse ui中的workbench jar 第二种指定CLASSPATH的方法是先将以上提到的三个包直接导入到Eclipse中的某下一个项目中 如果导入到和Wele java相同的项目中 则无需进一步指定CLASSPATH 否则需要在项目的属性菜单中选择Java Build PathàProjects 然后选中这三个包所在的项目     在plugin xml中一共有四个主要的标签 plugin requires runtime extension 其中plugin标签的属性提供的是我们要开发的Wele插件的基本信息 除了name version provider name等 最重要的是id 它要求不能和现有的Eclipse插件id有冲突 因此我们用包名作为插件的id requires标签中所列出的是需要的插件 这里我们要用到Eclipse Workbench和SWT API 因此导入了 eclipse ui插件 runtime标签指明的是我们开发的插件所在JAR包的文件名 extension标签是插件扩展点的信息 eclipse ui views是Eclipse系统提供的观察窗口扩展点 我们的例子是一个观察窗口(View) 这表明我们是要在 eclipse ui views扩展点上进一步开发     extension中还包括category和view两个标签 在后续的启动Wele插件步骤中 我们就会知道这两个标签的含义 要注意的是category和view标签的id的唯一性 并且在view的属性中声明了Wele插件的类名     在Eclipse中为plugin xml提供了缺省可视化的编辑器 在编写plugin xml过程中可以借助这个编辑器完成一些工作 如果你直接录入了plugin xml文件源代码 还可以用这个编辑器校验你的代码 如果编辑器不能正确读入 就表明你的plugin xml有一些问题     在确认Weclome java和plugin xml都正确无误之后 可以用Eclipse菜单栏中的Export命令将Weclome java导出为JAR文件 它的名子应该和plugin xml中runtime声明的JAR相一致 同时导出plugin xml 安装Wele插件的方法和本文第一部分介绍的安装Tomcat插件方法是一样的 首先在 Eclipse的安装路径plugins 路径下面建立一个 nidapeng eclipse plugin路径 然后将Weclome jar和plugin xml拷到这个路径下 之后必需重新启动Eclipse 在Eclipse启动的时候 它会搜索所有在插件路径下的插件并注册它们(仅仅是注册 只有在需要某个插件的时候 Eclipse才会启动它) 在重新启动的Eclipse的菜单栏中选择PerspectiveàShow ViewàOthers 在打开的对话框中我们会找到在plugin xml中extension的category标签中声明的name属性 Wele 在Wele的支结点中包含了view标签name属性 Wele to Eclipse 选中它并确认 Wele窗口就会显示在Eclipse Workbench上的某个位置 如果在执行了以上操作 但没有显示新窗口 可以再次打开Show View菜单 此时在菜单中应该有新一顶选择 Wele to Eclipse 然后选中它     上面我们完成了一个观察窗口的插件 但这个操作过程对开发稍微复杂一些的插件就显得不太方便了 每次测试都要将代码打包 发布 再重新启动Eclipse系统!为此Eclipse提供了一个专门为开发插件而做插件(有点绕嘴) Plug in Development Environment(PDE) 本文前面曾提到 目前Eclipse的Release或Stable版本缺省提供了这个插件 因此如果安装的Eclipse是这两个版本中的一个就可以直接进行下面的步骤 下面我们再用PDE环境开发一个稍微复杂一些的插件     第一步仍然要新建一个项目 只是在向导中不是用Java项目 而是Plug in Development中的Plug in Project 在应用向导生成新项目的时候 要注意两点 第一是PDE的项目名称就是plugin的id 因此要保证它的唯一性 这里我们的项目名是 nidapeng eclipse plugin pde 其次为了进一步说明Eclipse插件的结构 在Plug in Code Generators中 选择用向导模板生成一个缺省的插件     这个用缺省方式生成的插件类对于我们将要的代码并不是必需的 也可以用生成空插件的方式建立我们的项目 这样做只是为进一步说明Eclipse的插件结构 项目生成之后 在我们的项目中会包含一个PdePlugin java文件 它就是以缺省方式生成的插件类 注意到它继承了AbstractUIPlugin类 而AbstractUIPlugin类实现了 eclipse ui plugin接口 事实上 所有的Eclipse插件都会有一个相应的实现plugin接口的类 这个类将是新插件的主类(类似于有main()函数的Java类) 它负责管理插件的生存期 在我们的AbstractUIPlugin继承子类中 可以用singleton模式来保存在Eclipse中的生成的该插件的第一个也是唯一实例 一般来说 在该继承子类中也要实现一个getDefault()方法以返回当前插件的实例 而且 当Eclipse首次使用该插件的时候 这个主类将是第一个被调用的类 因此我们也可以在它的代码中执行一些初始化的工作 而且如果插件需要使用Preferences Dialogs或Images资源 也可以通过这个类中的相应方法来得到它们的实例 如用其中的getDialogSettings() getPreferenceStore() getImageRegistry()方法     但是象前面提到的 PdePlugin java对下面的例子并不是必需的 我们不用对它进行任何修改 在我们第一个例子中的Weclome插件 根本就没有生成AbstractUIPlugin的继承子类 此时系统会自动为Weclome插件生成一个缺省的主类(类似于Java类构造函数 如果没有声明 系统会指定一个默认的构造函数) 下面的代码是才真正实现了我们新插件的功能 假设这个插件名子是NoticeView     package nidapeng eclipse plugin pde;  import re resources *;  import re resources IResourceChangeEvent;  import re runtime CoreException;  import java util ResourceBundle;  import eclipse swt widgets Label;  import eclipse swt widgets Composite;  import eclipse ui part View cha138/Article/program/Java/ky/201311/28353

相关参考

知识大全 Eclipse Form程序设计指南之入门[1]

EclipseForm程序设计指南之入门[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  介

知识大全 Eclipse Form程序设计指南之入门[3]

EclipseForm程序设计指南之入门[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 Eclipse Form程序设计指南之入门[2]

EclipseForm程序设计指南之入门[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!<xm

知识大全 开发Eclipse插件

开发Eclipse插件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在本文中DavidGall

知识大全 Eclipse经典开发教程插件安装

Eclipse经典开发教程插件安装  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Eclipse

知识大全 Eclipse 3.0 简介和插件开发示例

Eclipse3.0简介和插件开发示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Eclip

知识大全 开发一个调试 JSP 的 Eclipse 插件

开发一个调试JSP的Eclipse插件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JAVA调

知识大全 基于Eclipse开发轻量级Spring插件

基于Eclipse开发轻量级Spring插件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要

知识大全 Eclipse插件开发中的Java项目模型

Eclipse插件开发中的Java项目模型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav

知识大全 Eclipse插件开发中实现刷新和重编译介绍

Eclipse插件开发中实现刷新和重编译介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在做