我在每晚构建服务器上使用Tycho构建Eclipse RCP产品。我想允许产品通过p2存储库更新自己,但是如果产品版本发生了变化,Eclipse只会注意到新版本,尽管版本的限定符确实发生了变化。
如何在不手动更改任何内容的情况下升级到最新的每晚构建?我目前使用的是Eclipse集成的更新管理器,但如果可以解决问题,我也可以使用p2 api。
如果我尝试使用“安装新软件”对话框进行更新而不更改产品版本的主要部分或次要部分:
Your original request has been modified.
"Product" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
Software being installed: Product 1.0.0.201502021648 (editor.sdk.feature.group 1.0.0.201502021648)
Software currently installed: Product 1.0.0 (Product 1.0.0)
Only one of the following can be installed at once:
Product Main Plugin 1.0.0.201502021648 (Product.editor 1.0.0.201502021648)
Product Main Plugin 1.0.0.201502011807 (Product.editor 1.0.0.201502011807)
Cannot satisfy dependency:
From: Product 1.0.0 (Product 1.0.0)
To: editor.sdk.feature.group [1.0.0.201502011807]
Cannot satisfy dependency:
From: CodeInspect 1.0.0.201502011807 (editor.sdk.feature.group 1.0.0.201502011807)
To: editor [1.0.0.201502011807]
Cannot satisfy dependency:
From: Product 1.0.0.201502021648 (editor.sdk.feature.group 1.0.0.201502021648)
To: editor [1.0.0.201502021648]
在我的产品档案中
<features>
<feature id="editor.sdk"/>
</features>
我的feature editor.sdk的feature.xml包含版本0.0.0的包含插件,所以它不应该是特定于版本的。
更改产品版本后,会显示类似的对话框
答案 0 :(得分:1)
requires.1.namespace = org.eclipse.equinox.p2.iu
requires.1.name = editor.sdk.feature.group
requires.1.range = [1.0.0, 10.0.0)
现在,Eclipse会在没有警告的情况下自动更新。