java - 如何更新 Eclipse RCP 应用程序?

标签 java eclipse eclipse-rcp

this previous question的背景下我想知道是否可以在不增加 RCP 产品版本的情况下更新我的 RCP 产品中包含的功能(基于功能)?

假设我有以下 RCP 应用程序

com.my.company.myproduct 1.0.0 包括

  • org.eclipse.rcp 3.5.0
  • com.my.company.myproduct.feature1 1.0.0
  • com.my.company.myproduct.feature2 1.0.0

我的问题是,我可以在不增加产品版本号的情况下增加、导出并安装(在 1.0.0 环境中)com.my.company.myproduct.feature2 的新版本(例如 1.1.0) ?

我想知道这一点,因为这样可以避免向我的客户提供大的(> 50 兆字节)补丁。

最佳答案

首先,将产品部署到 p2 存储库中。顶部和根 IU 是 com.my.company.myproduct_1.0.0。它由 org.eclipse.rcp_3.5.0 和 com.my.company.feature_1.0.0 组成。

然后您的功能有更新,因此您可以将 com.my.company.myproduct 发布到 1.1.0。它由 org.eclipse.rcp_3.5.0 和 com.my.company.feature_1.1.0 组成。它还应该部署为 p2 存储库。但是,您可以从存储库中删除 org.eclipse.rcp 的所有工件(org.eclipse.rcp 的功能和插件 jar)以减小大小。

它是一个累积存储库,无法安装到干净的环境中。但是,它可以安装在现有产品 1.0.0 上。 P2 能够仅更新具有较新版本的功能。

更新:

如果您重用 Eclipse 本身的 UI,则更新存储库应该具有您产品的更高版本,以使 Eclipse 的“安装新软件”/更新对话框显示您产品的较新版本。

如果您使用p2 API安装更新,则不需要更高版本的产品。但是您的产品的原始版本(1.0.0)必须取决于您的功能的版本范围。例如,com.my.company.myproduct_1.0.0 依赖于 com.my.company.feature 从 1.0.0(包含)到 2.0.0(排除)。

关于java - 如何更新 Eclipse RCP 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283668/

相关文章:

java -/src 文件夹之外的 Eclipse 验证

java - 如何通过 oauth 2 在 Android 上获取 meetup 访问 token

java - Eclipse - 运行在其他机器的 Eclipse 上运行的 Android 应用程序,不会在我的 Eclipse 中运行

xml - Eclipse:非 XML 文件的 XML 语法着色

java - 如何在 TreeViewer 中选择特定节点?

java - eclipse 如何知道有哪些 OSGi 包可以依赖?

java - RCP 或 SWT 构建 eclipse 插件

java - 什么是 NullPointerException,我该如何解决?

java - 有没有办法在 1 个 dockercompose 实例(测试容器)上执行连续 n 个集成测试

java - Sonar : Instance methods should not write to "static" fields