如何清除Eclipse p2存储库缓存

时间:2017-02-06 11:48:08

标签: eclipse caching p2

我面临着令人费解的事实,即尽管我在“偏好设置”中强制重新加载,但更新网站的信息仍无法更新。安装/更新>可用的软件站点。

我有一个本地更新站点(Windows上的文件:/ protocol)和一个在线更新站点(https://),我用它作为我正在维护的开源项目的登台/测试更新站点。

我使用本地存储的更新站点项目构建更新站点并在每次构建时擦除干净。当我在另一个Eclipse实例中测试新版本并验证了我的更改后,我将整个更新站点上传到我的服务器。然后,为了模拟用户会做什么,我在另一个在不同物理机器上运行的Eclipse实例中更新插件。

我(昨天)构建了另一个版本2.2.0.201702052007并将其上传到我的服务器。之前的版本为2.2.0.201702042059

我遇到的问题是我的开发机器上的Eclipse实例(Mars.2和Neon)不断报告上一个版本,尽管我重新加载了更新站点信息。但是,另一台机器看到新版本没有问题。

这是我尝试过的:

  • 重新加载更新站点的信息:每次,我收到一条确认消息,说“已经从服务器重新加载了[...]的信息”,但事实证明它没有重新加载:我看到了较旧的功能版本。
  • 从另一台计算机上的其他Eclipse实例访问更新站点:我看到了新版本。
  • 从浏览器加载更新站点的site.xml文件:我看到了新版本。
  • 使用FileZilla将整个更新站点下载到本地文件夹并解压缩content.jarartifacts.jar,以便我可以读取这些JAR文件中嵌入的XML文件:我看不到旧版本的痕迹
  • 删除更新站点,重新启动Eclipse并再次添加更新站点:问题仍然存在。
  • 作为最后的手段,我从服务器中删除了更新站点的所有文件:Eclipse仍然报告成功从服务器重新加载信息。
  • 我关闭了VPS上的httpd服务。 Eclipse报告成功,直到我重新启动它然后失败。但是,一旦Web服务器再次联机,它实际上无法向Web服务器发送请求,因为它一直说没有更新站点!因此,在线更新站点现在显示为空,重新启动Eclipse不会改变它。
  • [编辑]更难以理解的是,重新加载按钮报告成功即使没有与更新站点的网络连接(禁用网络接口)。[/ EDIT] < / LI>

在配置框架中似乎存在一个位于UI和我的服务器之间的缓存,它报告了过时的信息和功能版本,尽管明确要求重新加载这些信息。

我是否可以删除任何文件或文件夹以使配置框架自行重置?如果可能的话,我会完全禁用它的缓存。

1 个答案:

答案 0 :(得分:3)

我发现Oomph显然对更新站点信息检索过程有一个动作。

无论如何,我可以恢复正常操作(暂时)并通过首先删除C:\Users\...\.eclipse\org.eclipse.oomph.p2\cache中的相应文件来正确重新加载信息。

通过“相应的文件”,我指的是该文件夹中的文件以Eclipse实例已知的存储库的URL命名。