我正在構建一個基於Eclipse RCP的產品,我遇到了一個問題,當我嘗試使用內置的p2 UI安裝產品更新時,在對話框中出現錯誤消息「訪問權限不足應用此更新的權限。「爲什麼我的eclipse RCP產品被鎖定,無法更新?
我已經調試到Eclipse中,發現「病根」是不存在具有XML包括該片段在P2 .profile文件:
<iuProperties id='com.datical.db.ui.product' version='1.33.0.201412032223'>
<properties size='4'>
<property name='org.eclipse.equinox.p2.internal.inclusion.rules' value='STRICT'/>
<property name='org.eclipse.equinox.p2.type.root' value='true'/>
<property name='org.eclipse.equinox.p2.type.lock' value='3'/>
<property name='org.eclipse.equinox.p2.base' value='true'/>
</properties>
</iuProperties>
相關線上,說<property name='org.eclipse.equinox.p2.type.lock' value='3'/>
的一個
我不知道我在做什麼錯 - 我想我的產品定義或我的功能定義或我的安裝過程中出現錯誤,導致此行出現。
當我通過Eclipse代碼步驟(我們的目標環境是3.7 /靛藍),我看到的個人資料被寫入內org.eclipse.equinox.internal.p2.engine:SurrogateProfileHandler:addSharedProfileBaseIUs
(這是私有靜態)。這是從SurrogateProfileHandler:createProfile
該產品的P2存儲庫稱爲正在使用版本0.15的tycho插件構建。
由於p2是一個非常專業化的主題,因此可以在P2論壇中的[Eclipse論壇](https://eclipse.org/forums/)上詢問這個問題。 – 2014-12-04 08:18:15
[Indigo documents](http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fequinox%2Fp2%2Fengine% 2FIProfile.html)建議該標誌的有效值爲0(LOCK_NONE),1(LOCK_UNINSTALL)或2(LOCK_UPDATE)。沒有提及3的含義。您是否嘗試過更新版本的tycho? – 2014-12-04 09:44:36
這些標誌是一起進行OR運算的,所以3表示它已被鎖定用於更新和卸載。我還沒有嘗試轉向更新版本的tycho,主要是FUD。 greg-449,感謝參與論壇的參與者 - 我會嘗試在那裏交叉發帖。 – SteveDonie 2014-12-04 14:45:08