2011-02-14 87 views
0

我有一個依賴於某個特性的eclipse產品。現在我想能夠更新此功能。我還希望能夠通過預定義的更新站點啓動應用程序。我創建了一個包含文件p2.inf(基於:http://aniefer.blogspot.com/2009/07/composing-and-updating-custom-eclipse.html):構建eclipse產品時p2.inf文件存在問題

requires.0.name = com.application.feature.group 
requires.0.range = [1.0.0.qualifier, 2.0.0.qualifier) 

instructions.configure=\ 
    addRepository(type:0,location:https${#58}//ccp.com/);\ 
    addRepository(type:1,location:https${#58}//ccp.com/); 

但是當我去安裝經理在構建產品(如果我正常工作的回到updateSite ccp.com不顯示刪除'require'命令)。

上面的p2.inf文件有什麼不對嗎?

我現在已經嘗試:

requires.0.namespace=org.eclipse.equinox.p2.iu 
requires.0.name = com.application.feature.group 
requires.0.range = [1.0.0.qualifier, 2.0.0.qualifier) 

instructions.configure=\ 
    addRepository(type:0,location:https${#58}//ccp.com/);\ 
    addRepository(type:1,location:https${#58}//ccp.com/); 

但是當我建造它,我得到的錯誤:

Cannot complete the install because one or more required items could not be found. 
Software being installed: 
MyProduct 1.0.0.201102161136 (com.application.product 1.0.0.201102161136) Missing requirement: 
MyProduct 1.0.0.201102161136 (com.application.product 1.0.0.201102161136) requires 'com.application.feature.group [1.0.0.qualifier,2.0.0.qualifier)' 
but it could not be found 
Application failed, log file location: ... 

我也試圖從p2.inf文件中刪除預選賽中的版本範圍和我的功能,但得到相同的錯誤。有任何想法嗎?

回答

1

嘗試增加

requires.0.namespace=org.eclipse.equinox.p2.iu 

我懷疑是不是指定命名空間留下其作爲p2.inf解析器無效,最終導致一個斷言失敗上一個Assert.isNotNull(namespace),或NPE。這些都可能導致整個p2.inf文件被忽略。

0

我發現我需要使用p2.context.repos選項來傳入包含p2.inf中引用的項目的存儲庫。關鍵是串聯使用這個和pluginPath。