2

我正在使用 Tycho 构建基于功能的产品。构建通过并且产品工作正常。现在我想通过我的 p2 更新站点更新一个功能,但这不起作用。

我注意到的是,当我单击Help -> About -> Installation Details时,我将产品名称视为根元素,并将我的所有功能视为子元素。所以我无法卸载任何功能和/或更新它们。只能卸载根元素。我显然不想这样做,因为这是整个产品。

当我在 Eclipse IDE 中打开安装详细信息对话框时,我将所有已安装的功能都视为根元素。所以我可以卸载或更新个别功能(例如 EMF、Subversive、EGit)。

那么,为什么 Tycho 打造的产品会有所不同呢?为什么我的功能不是安装中的顶级元素?


我已尝试激活复选框此功能需要独占安装我想要更新的功能,但这没有帮助。

4

1 回答 1

2

实际上,并非 Eclipse IDE 中的所有功能都安装在根级别。还有一个产品元素(例如“Eclipse SDK”),该产品包含不能独立于产品更新或卸载的功能。

不过,您有一个正确的观点:如何将功能安装为 Tycho 的根元素,以便可以独立于产品卸载或更新它们?

从 Tycho 0.20.0 开始这是可能的:您可以在产品文件中指定是否要将某个功能安装为产品的子元素,或者该功能是否应作为根元素安装。对于后者,您需要添加一个属性installMode="root"

*.product 文件的示例片段:

<features>
   <feature id="product-child-element-feature"/>
   <feature id="root-element-feature" installMode="root"/>
</features>
于 2012-12-05T13:38:38.013 回答