【问题标题】:Prevent caching of Eclipse target definition防止缓存 Eclipse 目标定义
【发布时间】:2014-11-11 08:34:39
【问题描述】:

我正在使用引用 P2 更新站点的目标定义。

更新站点最近更新了一个插件,该插件与以前的版本具有相同的版本和限定符,但内容不同。

我已删除 .metadata/.plugins/org.eclipse.pde.core 并尝试再次解析和应用目标定义。奇怪的是,目标定义在 .metadata.plugins\org.eclipse.pde.core.bundle_pool 中重新创建了以前版本的插件(我正在检查它的内容和行为)

内容可以缓存在哪里以及如何刷新此缓存?

  • 版本:Kepler Service Release 2
  • 版本号:20140224-0627

【问题讨论】:

  • 这可能是 stackoverflow.com/questions/12641464/… 的副本,但没有得到答复
  • 元数据中的bundle_pool dir是PDE在下载目标内容时提供给p2的缓存位置。如果删除该文件夹并重新解析目标会导致添加旧内容,那么仍然必须有一个源提供旧内容(本地 Eclipse 安装?)。正如 Tobias 在他的“答案”中提到的那样,您使 p2 无法通过重复使用相同的版本来区分内容。

标签: eclipse-pde target-platform


【解决方案1】:

更新站点最近更新了一个插件,该插件与以前的版本具有相同的版本和限定符,但内容不同。

那么在这种情况下你有问题。

这种变化违反了 p2 最基本的假设,因此你不能期望任何东西都能正常工作。

【讨论】:

  • 这不是答案,而是评论。你的也是。 :(
  • 嗯,那是因为官方的回答(即p2项目的回答)是no no answer。
  • 嗯,有一个答案。可以重新格式化系统驱动器,这肯定会重置所有缓存。有一个存储这些的位置,我们只需要找到它们。
【解决方案2】:

P2 将“全局”缓存存储在工作空间或 Eclipse 安装之外的用户主目录中: $HOME/.p2/pool 一旦消除,问题就解决了。

不幸的是,所有使用 Oomph (Eclipse Installer) 安装的 Eclipse 实例都使用此文件夹,删除它会使它们无法使用。

请注意,从该文件夹中删除某些插件会破坏索引的完整性,并且还会使您的所有 Eclipse 安装不可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    相关资源
    最近更新 更多