我想为Eclipse插件创建一个自动安装程序(即不是通过"Update Manager")。我的场景很简单:用户关闭Eclipse,将下载的JAR放到dropins文件夹中,然后启动Eclipse,剩下的过程就会自动完成。
在旧的Eclipse版本中,在P2时代之前,Eclipse有一个名为InstallCommand的类,可以用来将插件安装到当前运行的平台中。
虽然这在Eclipse3.4和3.5中仍然有效,但它的行为不正确:最值得注意的是,以这种方式安装的插件不能自动卸载(它是暗淡的)。
JavaDoc声称InstallCommand已被弃用,应该由P2替代。然而,我找不到合适的工具来完成这项工作。虽然有P2 director,但它是为作为独立于命令行的应用程序运行而构建的。可以从Eclipse内部调用它,但它确实不适合这样做。例如,进度监控和错误报告不能很好地工作。
有没有人知道有什么好的替代方案?
谢谢,兹维基
发布于 2009-10-05 17:55:19
Dropins似乎非常接近你想要的,特别是如果他们只是下载jars而没有相关的元数据(即元数据需要自动生成)。
您可以考虑定义第二个dropins区域来管理您自己。看看org.eclipse.equinox.p2.reconciler.dropins中的ProfileSynchronizer,特别是createProfileChangeRequest方法。我希望你不喜欢的卸载行为是因为添加了IInstallableUnit.PROP_PROFILE_LOCKED_IU属性。
dropins是在启动时协调的,请参阅p2.reconciler.dropins Activator.watchDropins(),您可以从自己的捆绑包中执行相同的操作来监视另一个文件夹。
发布于 2009-10-05 15:47:03
我建议将您的插件部署为可执行JAR。JAR中的安装程序应该询问Eclipse安装目录,并将插件解压到正确的位置(根据需要再加上一些检查)。
可以选择包含一个不太依赖的小"watchdog“插件,它只检查您的主插件是否正确加载,并显示有用的错误消息,用户可以通过电子邮件发送给您以获取支持。
发布于 2012-03-20 22:53:44
根据InstallCommand的弃用注释中引用的错误311590 1中的信息,一种替代方案可能是使用P2操作2,3。
https://stackoverflow.com/questions/1520493
复制相似问题