2012-10-11 80 views
3

我創建了一個啓用p2的RCP應用程序。 ui被添加並且更新也可以被添加。RCP p2更新:一次只能安裝下列其中一項

但添加新的軟件(已安裝),出現這種情況:

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後發現它是相同的功能,但仍然認爲它不同,因爲它有不同的來源?這有意義嗎?

+1

[P2更新的基於RCP的應用程序失敗]的可能的重複(http://stackoverflow.com/questions/3238144/p2-update-of-rcp-based-application-failes) – Basilevs

回答

0

我想通了......這只是一個依賴問題。

我的應用產品是基於這些特性的一個版本。因此安裝另一個版本失敗。

我剛剛添加了我的應用程序功能作爲該產品的依賴項,並在此應用程序功能中包含了所有我的(可更新的)功能。包含它們時,您可以將該功能設置爲可選。

將此功能設置爲可選仍將其包含在您的產品版本中,但它允許您一次只執行一項功能的獨立更新!

+0

您能否請解釋一下詳細說明你如何解決你的問題? – Wearybands

+0

似乎沒有使用忽略標誌 - 它忽略了功能更新,如果它遇到衝突的依賴性問題。如果您沒有設置可選項,則會顯示一個明確的錯誤。 –

+0

這可能會有用 - http://aniefer.blogspot.sg/2009/07/composing-and-updating-custom-eclipse.html –

1

問題可能是您的匹配器值是完美的/等同的/兼容的。然後舊版本不會接受您的更新,因爲依賴關係不兼容。

看看你的特點,並檢查是否有類似:

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

match的可能值是:

(perfect | equivalent | compatible | greaterOrEqual) 

確保它是greaterOrEquals。這應該可以解決你的問題。 「

1

」以下只能安裝一個「表示您試圖安裝的工件不能共存於一個安裝配置文件中。

這很可能是由於「Bundle-SymbolicName」OSGi清單頭文件的「singleton:= true」指令造成的,它不允許使用(或聲明)將Eclipse擴展點多次安裝到一個環境。