1 创建一个插件项目

1.1 File - New - Plug-in Project

  

注:

  1 如果 New 下没有 Plug-in Project , 到 Other 里面去找。

  2 如上截图的下方,有个 Eclipse version , 笔者试了一下,即使和当前 Eclipse 的版本不匹配,也不影响使用。

1.2 点击 Next 后,出现如下图所示的界面

这个界面基本不用做修改,使用默认值即可。

注意:如果截图下方的  Would you like to create a 3.x rich client application ?  没有选择 Yes  , 请将其选为 Yes 

  

1.3 再点击 Next 后,会出现如下图所示的4个模板,选择第一个 Hello RCP ,点击 Finish

  

随之,出现如下图所示的页面。

1.4 下方会有一排标签页,点击 Extensions

  

1.5 新增一个启动(startup)扩展

Extensions 标签页里,点击 Add 按钮,在 Extension Point filter 栏里输入 start 对数据进行过滤,双击选中 org.eclipse.ui.startup ,然后保存。

  

  

再看 Extensions 标签页,多了一个扩展。

再看右边,需要选择一个 Java 类。

  

1.6 创建启动扩展的实现类

下面,就创建一个 Java 文件,名字就叫 ShowTime.java 。

不多说,直接上代码:

 package showstartuptime;

 import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IStartup; /**
* 简易的Eclipse插件程序
* 显示 Eclipse 的启动时间
*
* @author by Young.ZHU
* on 2014年4月5日
*
* Package&FileName: showstartuptime.ShowTime
*/
public class ShowTime implements IStartup { @Override
public void earlyStartup() { Display.getDefault().syncExec(new Runnable() {
public void run() {
long startTime = Long.parseLong(System
.getProperty("eclipse.startTime"));
long costTime = System.currentTimeMillis() - startTime; double dCostTime = costTime / 1000.0; Shell shell = Display.getDefault().getActiveShell(); String msg = "Eclipse 启动耗时: " + dCostTime + " 秒!"; MessageDialog.openInformation(shell, "Information", msg);
}
});
} }

回到刚刚那个 Extensions 标签页,在右侧点击 Browse ,选择刚建的Java 文件(ShowTime),保存。

OK , 接下来就是导出JAR文件。

2 导出JAR文件

2.1 选中项目,右键,选中 JAR file ,点击 Next

  

2.2 接下来,有2个地方需要注意,其他默认值即可:

  1 选择打包的资源时,只需要选择 plugin.xml 即可

  2 选择JAR文件导出的路径

  

2.3 点击 Next ,再点击 Next ,在指定 Manifest file 时,选择项目中已经存在的文件,如图:

  

2.4 点击 Finish ,完成导出。

3 安装插件

只需一步操作:将导出的JAR文件复制到 Eclipse 安装目录下的 dropins 目录。

DONE!

4 验证

重启 Eclipse 试试,是不是有类似下面的弹出信息:

【Eclipse】一个简单的 RCP 应用 —— 显示Eclipse 的启动时间。的更多相关文章

  1. 一个简单的数据查询显示jsp

    以前使用jstl标签库只是使用core来显示一些数据,非常方便,今天看了下发现jstl还有其他的标签,使用都非常方便, 1.sql标签,可以直接访问数据库,后台代码都不需要了,这在某些时候非常适合使用 ...

  2. 一个简单便捷的树形显示Ztree

    这是本人在闲时研究的一个用于显示树形列表的小玩意. zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 下面就说说怎么用吧 ...

  3. 01 . RPC简介原理及用Go实现一个简单的RCP

    RPC简介 本地过程调用 // 正常情况下程序的执行和调用情况.例如有如下go语言代码: package main import "fmt" func main() { var a ...

  4. netsh interface portproxy的一个简单例子

    netsh interface portproxy的微软帮助文档地址: https://technet.microsoft.com/zh-cn/library/cc776297(WS.10).aspx ...

  5. 用 Eclipse 创建一个简单的web项目

    Eclipse neon 汉化版 ; 1;右击新建 -->  选择 动态Web项目 2:  填写 项目名 项目位置 ; 选择 Dynamic web module version 和 tomca ...

  6. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project

     使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...

  7. 在eclipse中配置一个简单的spring入门项目

    spring是一个很优秀的基于Java的轻量级开源框架,为了解决企业级应用的复杂性而创建的,spring不仅可用于服务器端开发,从简单性.可测试性和松耦合性的角度,任何java应用程序都可以利用这个思 ...

  8. 用Eclipse 创建一个 简单的 Maven JavaWeb 项目

    使用Maven 创建一个简单的 javaWeb 项目: 本篇属于 创建 JavaWeb 项目的第三篇: 建议阅读本篇之前 阅读 用 Eclipse 创建一个简单的web项目  ;本篇是这这篇文章的基础 ...

  9. 一个简单的Eclipse调试Debug流程(四)

    本文链接:https://blog.csdn.net/u011781521/article/details/55000066    http://blog.csdn.net/u010075335/ar ...

随机推荐

  1. 使用openstackclient调用Keystone v3 API

    本文内容属于个人原创,转载务必注明出处:  http://www.cnblogs.com/Security-Darren/p/4138945.html 考虑到Keystone社区逐渐弃用第二版身份AP ...

  2. sparkSQL实际应用

    提交代码包 /usr/local/spark/bin$ spark-submit --class "getkv" /data/chun/sparktes.jar 1.查询KV im ...

  3. Thinkphp5笔记三:创建基类

    做项目之前,一定要先部署要自己的"基类",非常的重要.打个比方,要访问会员中心相关的控制器,这类控制器是不是都要有一个“登录限制”,才让访问会员相关的控制器? 一.创建三大基类 原 ...

  4. Android四大组件之——ContentProvider(二)

    Content Resolver介绍: 开发者文档中这么定义的: This class provides applications access to the content model. 这个类为应 ...

  5. Linux下安装或升级Python 2.7

    1.准备编译环境gcc 2.去官网下载要安装的对应版本的python的源代码 下载地址:https://www.python.org/downloads/source/ 你可以选择你要下载的版本,用w ...

  6. 理解linux 块, i节点

    https://blog.csdn.net/zdf19/article/details/54424880 https://www.cnblogs.com/hnrainll/archive/2012/0 ...

  7. python Thread对象的setDaemon(True)的作用。

    1.如果主线程是永远都不会结束的,那设置一个线程为守护线程是没必要的,设不设置都一样. 2.什么时候需要设置为守护线程?如果希望子线程一直运行,可以把子线程的代码写在while True里面一直循环, ...

  8. MongoDB副本集的工作原理

    在MongoDB副本集中,主节点负责处理客户端的读写请求,备份节点则负责映射主节点的数据. 备份节点的工作原理过程可以大致描述为,备份节点定期轮询主节点上的数据操作,然后对自己的数据副本进行这些操作, ...

  9. [AX]AX2012 R2 HR Jobs, Positions, Department和Workers

    部门.作业(Job的官方翻译)和位置(Position的官方翻译)是AX人力资源管理的基本组织元素,Job和Position在AX有的地方又称作工作和职位,其实这个翻译更为恰当. Job定义的是一个工 ...

  10. SELECT中常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...