サンプルを作成しているときに、非常に奇妙な動作に気付きました。2つのシナリオで問題を説明します
シナリオ 1。
- 2 つのプラグインを作成します。
- 2 つのフィーチャーを作成します。
- 1 つの製品を作成し、1 つの機能のみを含めます。
- カテゴリを作成し、両方の機能を含めます。
- 製品をエクスポートし、生成されたランチャーを使用してテストします。すべて正常に動作します。
次に、デプロイ可能な機能をエクスポートし、生成されたファイルを Web サーバーにコピーします。
新しいソフトウェアのインストール オプションを開き、URL を使用して 2 番目の機能をインストールします。
この機能はインストールされ、ビルドごとに更新されます。
シナリオ 2
- 2 つのプラグインを作成します。
- 2 つのフィーチャーを作成します。
- 1 つの製品を作成し、両方の機能を含めます。(これは、1 つの機能のみが含まれる最初のシナリオとは異なります。)
- カテゴリを作成し、両方の機能を含めます。
製品をエクスポートし、生成されたランチャーを使用してテストします。すべて正常に動作します。
次に、デプロイ可能な機能をエクスポートし、生成されたファイルを Web サーバーにコピーします。
新しいソフトウェアのインストール オプションを開き、URL を使用してアプリケーションを更新します。
機能が既にインストールされており、代わりに更新が実行されるため、アップデーターは不平を言います。
残念ながら、更新は機能せず、ステップで次のようなエラーが表示されます。
Your original request has been modified.
"Mail Protection" is already installed, so an update will be performed instead.
"Core" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
Software being installed: Mail Protection 1.0.0.201103061657 (com.example.mail.protection.feature.group 1.0.0.201103061657)
Software currently installed: RCP Product 1.0.0.201103061656 (com.example.mail.product 1.0.0.201103061656)
Only one of the following can be installed at once:
Mail Protection 1.0.0.201103061656 (com.example.mail.protection.feature.jar 1.0.0.201103061656)
Mail Protection 1.0.0.201103061657 (com.example.mail.protection.feature.jar 1.0.0.201103061657)
Cannot satisfy dependency:
From: RCP Product 1.0.0.201103061656 (com.example.mail.product 1.0.0.201103061656)
To: com.example.mail.protection.feature.group [1.0.0.201103061656]
Cannot satisfy dependency:
From: Mail Protection 1.0.0.201103061656 (com.example.mail.protection.feature.group 1.0.0.201103061656)
To: com.example.mail.protection.feature.jar [1.0.0.201103061656]
Cannot satisfy dependency:
From: Mail Protection 1.0.0.201103061657 (com.example.mail.protection.feature.group 1.0.0.201103061657)
To: com.example.mail.protection.feature.jar [1.0.0.201103061657]
製品がエクスポートされた後に機能をインストールすると更新が機能するため、これは驚くべきことです。
ただし、機能が既に製品にバンドルされている場合、機能の更新は機能しません。
なぜなのかご存知ですか?