我想为Eclipse插件创建一个自动安装程序(即不通过“Update Manager”)。我的场景很简单:用户关闭Eclipse,将下载的JAR放入dropins文件夹,启动Eclipse,其余部分自动完成。
在较旧的Eclipse版本中,在P2时代之前,Eclipse(仍然有)一个名为InstallCommand
的类,可用于将插件安装到当前运行的平台中。
虽然这仍然适用于Eclipse 3.4& 3.5,它表现不正常:最明显的是,以这种方式安装的插件无法自动卸载(它变暗)。
JavaDoc声称InstallCommand
已弃用,应替换为P2替代方案。但是,我找不到合适的工具。有P2 director,但它是为从命令行作为单独的应用程序运行而构建的。可以从Eclipse中调用它,但它实际上并没有被删除。例如,进度监控和错误报告效果不佳。
有人知道一个很好的选择吗?
谢谢, Zviki
答案 0 :(得分:1)
Dropins似乎非常接近你想要的,特别是如果他们只是在没有相关元数据的情况下下载jar(即元数据需要自动生成)。
您可以考虑定义第二个dropins区域来管理自己。请查看org.eclipse.equinox.p2.reconciler.dropins中的ProfileSynchronizer
,特别是createProfileChangeRequest方法。我希望您不喜欢的卸载行为是添加IInstallableUnit.PROP_PROFILE_LOCKED_IU
属性的结果。
在启动时协调dropins,请参阅p2.reconciler.dropins Activator.watchDropins(),您可以从自己的bundle中执行相同的操作来查看另一个文件夹。
答案 1 :(得分:0)
我建议将您的插件部署为可执行JAR。 JAR中的安装程序应该要求Eclipse安装目录并在正确的位置解压缩插件(并根据需要再添加一些检查)。
可选择包含一个小的“看门狗”插件,该插件不需要太多,只是检查主插件是否正确加载并显示一条有用的错误消息,用户可以通过电子邮件向您发送支持。
答案 2 :(得分:0)