我正在构建一个基于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