我创建了一个启用p2的RCP应用程序。将添加ui,还可以添加更新站点。
但是添加新软件(已经安装)时,会发生这种情况:
Your original request has been modified.
"Help" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
Software being installed: Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110844)
Software currently installed: SmartSignature 1.0.0.201210110831 (smartapps.smartsignature.application.product 1.0.0.201210110831)
Only one of the following can be installed at once:
Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.jar 1.0.0.201210110844)
Help 1.0.0.201210110831 (smartapps.smartsignature.features.help.feature.jar 1.0.0.201210110831)
Cannot satisfy dependency:
From: SmartSignature 1.0.0.201210110831 (smartapps.smartsignature.application.product 1.0.0.201210110831)
To: smartapps.smartsignature.features.help.feature.group [1.0.0.201210110831]
Cannot satisfy dependency:
From: Help 1.0.0.201210110831 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110831)
To: smartapps.smartsignature.features.help.feature.jar [1.0.0.201210110831]
Cannot satisfy dependency:
From: Help 1.0.0.201210110844 (smartapps.smartsignature.features.help.feature.group 1.0.0.201210110844)
To: smartapps.smartsignature.features.help.feature.jar [1.0.0.201210110844]这就是p2的全部意义所在。我认为有一件事可能会导致这个错误,但我不知道如何实际修复它。
有没有可能存储库中的功能与基本RCP应用程序中安装的功能不同?在安装p2时检测到它是相同的功能,但仍然认为它是不同的,因为它有不同的来源?这有什么意义吗?
发布于 2012-10-12 15:33:29
好吧我想通了..。这只是一个依赖问题。
我的应用程序产品是基于这些功能的版本。因此安装另一个版本失败。
当包含它们时,您可以将该功能设置为可选。
将此功能设置为optional仍然将其包含在您的产品构建中,但它允许您一次仅执行一个功能的独立更新!
发布于 2012-10-11 16:15:56
问题可能是你的匹配值是完美的/等价的/兼容的..那么旧版本将不会接受您的更新,因为依赖项不兼容。
查看您的功能,并检查是否存在以下内容:
<import plugin="smartapps.smartsignature.features.help.feature.group" version="1.0.0.201210110831" match="..."/>match的可能值为:
(perfect | equivalent | compatible | greaterOrEqual)确保它是greaterOrEquals。这应该可以解决你的问题。
发布于 2012-10-12 14:42:06
“一次只能安装以下内容之一”意味着您尝试安装的工件不能在一个安装配置文件中共存。
这很可能是由"Bundle-SymbolicName“OSGi清单标头的"singleton:=true”指令引起的,该指令禁止使用(或声明)OSGi扩展点的包在一个环境中安装多次。
https://stackoverflow.com/questions/12834465
复制相似问题