PDE导出Eclipse产品
一、环境说明
- 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
扩展product扩展点
product扩展点是Eclipse中实现品牌化的重要一步,比如图标,商标,产品说明等都需要在product扩展点中描述
添加完product扩展点后可以暂时留空,后面使用PDE的.product可视化编辑器进行自动填充
在插件的MANIFEST.MF中追加一句"Eclipse-BundleShape: dir",这句话表示这个插件将以目录的形式存在,而不是以.jar的形式存在。因为后面要将产品的icons文件放在该插件下,如果是jar的话,产品在启动的时候就拿不到这些icons了
新建feature工程
feature在eclipse的世界中表示一个功能模块,它可以包含多个plugin。建议把一些功能相关的plugin封装为一个feature,便于后期使用p2进行安装卸载以及在线升级
此处起名为com.owner.xstudio.platform.feature
把上步中新建的插件包含进来,选中"Unpack …"
此例程基于eclipse platform,所以把org.eclipse.platform这个feature包含进来
制作图标和启动页图片
将制作好的图标和启动图片放到plugin工程下
记得在build设置中把资源文件加上,否则导出后没有资源文件而不显示图标
三、定义产品
新建product configuration文件
在插件目录下新建一个product configuration配置文件
部分设置如下
Content 页
Configuration 页
Launching 页
Splash 页
Updates 页
updates页用来给导出的产品指定一些默认的p2站点,用于检查更新和在线安装软件
其他页
自行视情况进行设置,不再赘述
四、导出产品
填充product扩展点
至此,必要的配置基本完成。回到Overview页,点击"Synchronize",此时PDE会把一些配置项填充到之前扩展的product扩展点中,同时PDE会生成一个 “plugin_customization.ini” 文件,在插件的build.properties中包含此文件
执行导出
建议在导出前在开发环境下尝试调试运行一下,保证能正常运行后再执行导出操作
选择生成p2仓库,eclipse建议使用p2来管理软件(插件),而不是无脑的将插件扔到plugins目录下
点击Finish,坐等导出完成。导出成功后会看到如下目录结构
- repository:这是一个典型的p2仓库格式,里面有.product中定义的plugin和feature
- XStudio:目标产品,我们想要得到的东西
成果展示
至此,一个完整的Eclipse产品就导出了。执行XStudio.exe
在线更新
制作一个web服务器,如使用tomcat、jetty等。将repository扔到web服务器下,点击Help -> “Install New Software”和“Check for Update”即可进行安装或更新。在后续的开发中没必要每次都导出产品,只需把业务性的插件以feature的方式导出,扔到web服务器下,在产品中进行在线更新或安装
五、总结
导出后启动错误
- 多试几次
- 检查configuration/config.ini是否正确,参考eclipse/configuration/config.ini
- 检查XStudio.ini是否正确,参考eclipse/eclipse.ini
- 检查plugin和feature下是否有自己的插件