【Eclipse插件开发】导出Eclipse产品

PDE导出Eclipse产品

  • 一、环境说明
  • 二、新建插件
    • 新建plugin工程
    • 扩展product扩展点
    • 新建feature工程
    • 制作图标和启动页图片
  • 三、定义产品
    • 新建product configuration文件
      • Content 页
      • Configuration 页
      • Launching 页
      • Splash 页
      • Updates 页
      • 其他页
  • 四、导出产品
    • 填充product扩展点
    • 执行导出
    • 成果展示
    • 在线更新
  • 五、总结
    • 导出后启动错误
    • 参考资料

一、环境说明

  • jdk11
  • windows10(linux下类似)
  • eclipse-platform-4.22-win32-x86_64.zip,eclipse platform是一个“壳子”ide,它提供了作为ide所需要的最基本的功能,基于eclipse platform实现自己的ide是一个不错的选择
  • 安装PDE,直接从eclipse platform自带的主仓库搜索安装即可
  • 安装Eclipse SDK,直接从eclipse platform自带的主仓库搜索安装即可

二、新建插件

新建plugin工程

注意命名尽可能的规范。此处起名为com.owner.xstudio.platform
【Eclipse插件开发】导出Eclipse产品_第1张图片

扩展product扩展点

product扩展点是Eclipse中实现品牌化的重要一步,比如图标,商标,产品说明等都需要在product扩展点中描述
【Eclipse插件开发】导出Eclipse产品_第2张图片
添加完product扩展点后可以暂时留空,后面使用PDE的.product可视化编辑器进行自动填充

在插件的MANIFEST.MF中追加一句"Eclipse-BundleShape: dir",这句话表示这个插件将以目录的形式存在,而不是以.jar的形式存在。因为后面要将产品的icons文件放在该插件下,如果是jar的话,产品在启动的时候就拿不到这些icons了
【Eclipse插件开发】导出Eclipse产品_第3张图片

新建feature工程

feature在eclipse的世界中表示一个功能模块,它可以包含多个plugin。建议把一些功能相关的plugin封装为一个feature,便于后期使用p2进行安装卸载以及在线升级

此处起名为com.owner.xstudio.platform.feature
【Eclipse插件开发】导出Eclipse产品_第4张图片

把上步中新建的插件包含进来,选中"Unpack …"
【Eclipse插件开发】导出Eclipse产品_第5张图片

此例程基于eclipse platform,所以把org.eclipse.platform这个feature包含进来
【Eclipse插件开发】导出Eclipse产品_第6张图片

制作图标和启动页图片

将制作好的图标和启动图片放到plugin工程下
【Eclipse插件开发】导出Eclipse产品_第7张图片
记得在build设置中把资源文件加上,否则导出后没有资源文件而不显示图标
【Eclipse插件开发】导出Eclipse产品_第8张图片


三、定义产品

新建product configuration文件

在插件目录下新建一个product configuration配置文件
【Eclipse插件开发】导出Eclipse产品_第9张图片

部分设置如下

Content 页

【Eclipse插件开发】导出Eclipse产品_第10张图片

Configuration 页

【Eclipse插件开发】导出Eclipse产品_第11张图片

Launching 页

【Eclipse插件开发】导出Eclipse产品_第12张图片

Splash 页

【Eclipse插件开发】导出Eclipse产品_第13张图片

Updates 页

【Eclipse插件开发】导出Eclipse产品_第14张图片
updates页用来给导出的产品指定一些默认的p2站点,用于检查更新和在线安装软件

其他页

自行视情况进行设置,不再赘述


四、导出产品

填充product扩展点

至此,必要的配置基本完成。回到Overview页,点击"Synchronize",此时PDE会把一些配置项填充到之前扩展的product扩展点中,同时PDE会生成一个 “plugin_customization.ini” 文件,在插件的build.properties中包含此文件

执行导出

建议在导出前在开发环境下尝试调试运行一下,保证能正常运行后再执行导出操作
【Eclipse插件开发】导出Eclipse产品_第15张图片
选择生成p2仓库,eclipse建议使用p2来管理软件(插件),而不是无脑的将插件扔到plugins目录下
【Eclipse插件开发】导出Eclipse产品_第16张图片
点击Finish,坐等导出完成。导出成功后会看到如下目录结构
【Eclipse插件开发】导出Eclipse产品_第17张图片

  • repository:这是一个典型的p2仓库格式,里面有.product中定义的plugin和feature
  • XStudio:目标产品,我们想要得到的东西

成果展示

至此,一个完整的Eclipse产品就导出了。执行XStudio.exe
【Eclipse插件开发】导出Eclipse产品_第18张图片

在线更新

制作一个web服务器,如使用tomcat、jetty等。将repository扔到web服务器下,点击Help -> “Install New Software”和“Check for Update”即可进行安装或更新。在后续的开发中没必要每次都导出产品,只需把业务性的插件以feature的方式导出,扔到web服务器下,在产品中进行在线更新或安装
【Eclipse插件开发】导出Eclipse产品_第19张图片


五、总结

导出后启动错误

  • 多试几次
  • 检查configuration/config.ini是否正确,参考eclipse/configuration/config.ini
  • 检查XStudio.ini是否正确,参考eclipse/eclipse.ini
  • 检查plugin和feature下是否有自己的插件

参考资料

  • 本例程源码下载
  • Packaging and delivering Eclipse based products

你可能感兴趣的:(Eclipse插件开发,eclipse,java,ide,product,plugin)