【问题标题】:How to enable Software Update in an Eclipse product?如何在 Eclipse 产品中启用软件更新?
【发布时间】:2012-09-13 20:14:44
【问题描述】:

在我的 Eclipse 项目中,我定义了一个简单的插件(捆绑包)、一个包含该插件的功能以及一个包含该功能的产品。

当我导出产品时(通过产品编辑器的“Eclipse 产品导出向导”),它会构建产品。我可以启动产品,一切正常(插件就在那里,并且在做它应该做的事情)。

唯一的问题是该产品的用户无法使用软件更新菜单(帮助 -> 软件更新)安装附加的 Eclipse 功能。软件更新子菜单(“查找并安装...”和“管理配置...”)显示为灰色。

我们应该向产品添加哪些插件和/或功能,以便产品可以使用“软件更新”菜单接受附加功能?

我尝试添加一堆 org.eclipse.equinox.p2.* 插件,但仍然无法正常工作。

  <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
  <plugin id="org.eclipse.equinox.p2.console"/>
  <plugin id="org.eclipse.equinox.p2.core"/>
  <plugin id="org.eclipse.equinox.p2.director"/>
  <plugin id="org.eclipse.equinox.p2.director.app"/>
  <plugin id="org.eclipse.equinox.p2.directorywatcher"/>
  <plugin id="org.eclipse.equinox.p2.discovery"/>
  <plugin id="org.eclipse.equinox.p2.discovery.compatibility"/>
  <plugin id="org.eclipse.equinox.p2.engine"/>
  <plugin id="org.eclipse.equinox.p2.extensionlocation"/>
  <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
  <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
  <plugin id="org.eclipse.equinox.p2.metadata"/>
  <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
  <plugin id="org.eclipse.equinox.p2.operations"/>
  <plugin id="org.eclipse.equinox.p2.publisher"/>
  <plugin id="org.eclipse.equinox.p2.publisher.eclipse"/>
  <plugin id="org.eclipse.equinox.p2.ql"/>
  <plugin id="org.eclipse.equinox.p2.reconciler.dropins"/>
  <plugin id="org.eclipse.equinox.p2.repository"/>
  <plugin id="org.eclipse.equinox.p2.repository.tools"/>
  <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
  <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
  <plugin id="org.eclipse.equinox.p2.transport.ecf"/>
  <plugin id="org.eclipse.equinox.p2.ui"/>
  <plugin id="org.eclipse.equinox.p2.ui.discovery"/>
  <plugin id="org.eclipse.equinox.p2.ui.importexport"/>
  <plugin id="org.eclipse.equinox.p2.updatechecker"/>
  <plugin id="org.eclipse.equinox.p2.updatesite"/>

是否有人确切知道需要做什么(如果可能,在产品定义级别)才能使“软件更新”菜单正常工作?

【问题讨论】:

    标签: eclipse product p2


    【解决方案1】:

    菜单条目“安装新软件”由插件org.eclipse.equinox.p2.ui.sdk提供。您应该包含它以在您的 RCP 中显示该菜单条目。

    如果你的 RCP 是基于特性的,我认为你应该只包含 p2 相关特性以简化流程。

    【讨论】:

    • 添加org.eclipse.equinox.p2.ui.sdk 确实在测试时在我的Eclipse 产品中添加了菜单条目安装新软件。虽然菜单条目 Install new software 失败并显示错误消息“无法找到正在运行的配置文件实例。在此应用程序的 eclipse.p2.data.area 和 eclipse.p2.profile 属性可能未正确设置config.ini 文件。”。为了解决这个问题,我必须添加org.eclipse.equinox.ds bundle。
    • @LoicO 你能说我应该在哪里添加这些 行吗?哪个文件?谢谢
    【解决方案2】:

    我不知道所需 p2 捆绑包的完整列表,但您可以通过以下方式轻松生成它:使用新向导创建 e4 > e4 应用程序项目。这会生成一个产品文件,其中包含 p2 可更新产品所需的所有捆绑包。

    如果您有基于功能的产品,org.eclipse.rcporg.eclipse.e4.rcp 的功能也应该为您提供可更新的产品

    【讨论】:

    • 我用的是靛蓝,我看不到e4。另外,我的产品不是 RCP 应用程序,只是一个 Eclipse 产品(我想我可以说是品牌 Eclipse)。结果发现丢失的 2 个捆绑包是:org.eclipse.equinox.p2.ui.sdkorg.eclipse.equinox.ds。谢谢。
    【解决方案3】:

    我也遇到了同样的问题,通过以下步骤解决了;

    在产品配置文件中,

    .product file --> In Configuration Tab
    
    Specify custom start levels for the following plug-ins,
        org.eclipse.equinox.ds start level 2, auto start true 
        org.eclipse.equinox.simpleconfigurator start level 1, auto start true
        org.eclipse.equinox.common start level 2, auto start true
        org.eclipse.core.runtime start level 4, auto start true
    

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2020-09-05
      相关资源
      最近更新 更多