6

我想为 Eclipse 插件创建一个自动安装程序(即不通过“更新管理器”)。我的场景很简单:用户关闭 Eclipse,将下载的 JAR 放到 dropins 文件夹中,启动 Eclipse,其余的过程是自动化的。

在旧的 Eclipse 版本中,在 P2 时代之前,Eclipse 有(仍然有)一个名为的类InstallCommand,可用于将 pluings 安装到当前运行的平台中。

虽然这在 Eclipse 3.4 和 3.5 中仍然有效,但它的行为并不正常:最明显的是,以这种方式安装的插件无法自动卸载(它变暗)。

JavaDoc 声称InstallCommand已弃用,应替换为 P2 替代方案。但是,我找不到适合这项工作的工具。有P2 导向器,但它是为从命令行作为单独的应用程序运行而构建的。可以从 Eclipse 中调用它,但实际上并不适合这样做。例如,进度监控和错误报告效果不佳。

有没有人知道一个很好的选择?

谢谢,兹维基

4

3 回答 3

1

Dropins 似乎非常接近您想要的,特别是如果他们只是下载没有相关元数据的 jar(即需要自动生成元数据)。

您可以考虑定义第二个 dropins 区域来管理自己。查看ProfileSynchronizerorg.eclipse.equinox.p2.reconciler.dropins,特别是 createProfileChangeRequest 方法。我希望您不喜欢的卸载行为IInstallableUnit.PROP_PROFILE_LOCKED_IU是添加属性的结果。

dropins 在启动时进行协调,请参阅 p2.reconciler.dropins Activator.watchDropins(),您可以从自己的包中执行相同操作以观看另一个文件夹。

于 2009-10-05T17:55:19.197 回答
0

我建议将您的插件部署为可执行的 JAR。JAR 中的安装程序应该询问 Eclipse 安装目录并在正确的位置解压缩插件(根据需要加上一些检查)。

可选地包括一个小的“看门狗”插件,它不依赖太多,只是检查您的主插件是否正确加载并显示有用的错误消息,用户可以通过电子邮件发送给您以获得支持。

于 2009-10-05T15:47:02.730 回答
0

根据在 InstallCommand 的弃用注释中引用的错误 311590 1中的信息,替代方法可能是使用 P2 操作23

于 2012-03-20T14:53:43.550 回答