0

对于我的 RCP 应用程序,我创建了两个目标,一个指向目标项目的存储库目录中的 p2 站点,因此用户可以在未连接到 Internet 时使用目标。p2 存储库是使用 ant 脚本创建的镜像,我验证它具有目标尝试加载的所需功能和插件版本。

它适用于除一个功能之外的每个功能(com.vectrace.MercurialEclipse,它是从我通过导出 MercuriualEcliopse 功能创建的本地 p2 更新站点镜像的)。我像这样在我的目标文件中加载该功能

<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="false" type="InstallableUnit">

<unit id="com.vectrace.MercurialEclipse.feature.feature.group" version="2015"/> <unit id="com.google.gson.source" version="2.1.0.201304290948"/>

<repository location="file:///path/to/repository"/>

</位置>

在目标编辑器 UI 中,我收到此错误:

文件不存在:

<工作区路径>/.metadata.plugins/org.eclipse.pde.core/.bundle_pool/com.vectrace.MercurialEclipse_2.1.0.201304290948.jar

我不明白为什么捆绑池中不存在文件会阻止我向目标添加功能。该功能似乎在 p2 站点中正确定义,我认为这只是一些关于挂在旧参考或其他东西上的日食怪异。但是,通常可以解决此类问题的“日食舞蹈”的数小时变化未能解决问题。

我尝试重新创建 MercurialEclipse 存储库、重新镜像本地离线存储库、使用 -clean 重新启动以及其他各种操作。有人可以帮助我了解日食对此消息的抱怨吗?

4

1 回答 1

0

Eclipse 说它想要 bundle_pool 目录中的那个 jar 文件,所以我手动将它复制到那里。这使得目标加载正确,但我想知道为什么我必须这样做。似乎是一个错误或故障,因为应该将 jar 文件添加到捆绑池中,作为将功能添加到目标的结果,而不是作为先决条件。但是所有常见的变化都不会让 eclipse 停止坚持 jar 文件需要已经在 bundle_pool 目录中。

于 2015-12-02T15:08:39.610 回答