5

p2 を有効にする RCP アプリケーションを作成しました。UI が追加され、updatesites も追加できます。

しかし、新しいソフトウェア (既にインストールされている) を追加すると、次のことが起こります。

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の要点です...エラーの原因と思われることが1つありますが、実際に修正する方法がわかりません。

リポジトリ内の機能が、ベース RCP アプリケーションにインストールされている機能と異なる可能性はありますか? p2をインストールすると、同じ機能であることが検出されますが、ソースが異なるため、異なると思いますか? これは意味がありますか?

4

3 に答える 3

2

問題はおそらく、マッチャーの値が完全/同等/互換性があることです。依存関係に互換性がないため、古いバージョンは更新を受け入れません。

あなたの特徴を見て、次のようなものがあるかどうかを確認してください:

<import plugin="smartapps.smartsignature.features.help.feature.group" version="1.0.0.201210110831" match="..."/>

一致の可能な値は次のとおりです。

 (perfect | equivalent | compatible | greaterOrEqual)

であることを確認してくださいgreaterOrEquals。それはあなたの問題を解決するはずです。

于 2012-10-11T08:15:55.600 に答える
1

よくわかりました...それは単なる依存関係の問題でした。

私のアプリケーション製品は、バージョン付きのこれらの機能に基づいていました。そのため、別のバージョンのインストールに失敗しました。

製品の依存関係としてアプリ機能を追加し、このアプリ機能にすべての(更新可能な)機能を含めました。それらを含める場合、機能をオプションとして設定できます。

この機能をオプションとして設定しても、製品ビルドに含まれますが、一度に1つの機能のみのスタンドアロン更新を実行できます。

于 2012-10-12T07:33:28.563 に答える
1

「一度にインストールできるのは次のいずれか1つのみ」とは、インストールしようとしているアーティファクトを1つのインストールプロファイルに共存できないことを意味します。

これは、「Bundle-SymbolicName」OSGiマニフェストヘッダーの「singleton:= true」ディレクティブが原因である可能性があります。これにより、Eclipse拡張ポイントを使用する(または宣言する)バンドルを1つの環境に複数回インストールすることができなくなります。

于 2012-10-12T06:42:05.883 に答える