如何清除 Eclipse p2 存储库缓存
How to clear Eclipse p2 repository cache
尽管我在首选项 > Install/Updates > 可用软件站点中强制重新加载,但更新站点的信息仍无法更新,这是一个令人费解的事实。
我有一个本地更新站点(文件:/协议,在 Windows 上)和一个在线更新站点 (https://),我将其用作 staging/test 开源更新站点我正在维护的项目。
我使用本地存储的更新站点项目构建更新站点并且每次构建它时都将其擦除。当我在不同的 Eclipse 实例中测试了新版本并验证了我的更改后,我将整个更新站点上传到我的服务器。然后,为了模拟用户会做什么,我在另一个运行在不同物理机器上的 Eclipse 实例中更新插件。
我(昨天)构建了另一个版本 2.2.0.201702052007
并将其上传到我的服务器。之前的版本是 2.2.0.201702042059
.
我遇到的问题是,尽管我重新加载了更新站点信息,但我开发机器上的 Eclipse 实例(Mars.2 和 Neon)一直报告上一个版本到上一个版本。但是对方机器看新版本没有问题
这是我试过的:
- 重新加载更新站点的信息:每次,我都会收到一条确认消息,说"information for [...] has been reloaded from the server"但事实证明它还没有重新加载:我看到旧的功能版本。
- 从不同机器上的不同 Eclipse 实例访问更新站点:我看到了新版本。
- 正在从浏览器加载更新站点的
site.xml
文件:我看到了新版本。
- 使用 FileZilla 将整个更新站点下载到本地文件夹并解压缩
content.jar
和 artifacts.jar
以便我可以读取嵌入在这些 JAR 文件中的 XML 文件:我明白了没有旧版本的痕迹。
- 删除更新站点,重新启动 Eclipse 并再次添加更新站点:问题仍然存在。
- 作为最后的手段,我从服务器上删除了更新站点的所有文件:Eclipse 仍然报告成功地从服务器重新加载信息。
- 我关闭了 VPS 上的 httpd 服务。 Eclipse 报告成功,直到我重新启动它然后失败。但是一旦网络服务器再次上线,它实际上并没有向网络服务器发送请求,因为它一直说没有更新站点!因此,在线更新站点现在显示为空,重新启动 Eclipse 不会改变这一点。
- [编辑] 更难以理解的是,重新加载 按钮报告成功即使没有网络连接到更新站点(网络接口已禁用)。[/编辑]
供应框架中似乎在 UI 和我的服务器之间的某处有一个缓存,尽管明确请求重新加载该信息,但它报告了过时的信息和功能版本。
是否有我可以删除的任何文件或文件夹以使配置框架自行重置?如果可能的话,我会完全禁用它的缓存。
我发现 Oomph 显然对更新站点信息检索过程有作用。
无论如何,我可以恢复正常操作(暂时)并通过先删除 C:\Users\...\.eclipse\org.eclipse.oomph.p2\cache
中的相应文件来正确重新加载信息。
通过“适当的文件”,我指的是该文件夹中的文件以您的 Eclipse 实例已知的存储库的 URL 命名。
尽管我在首选项 > Install/Updates > 可用软件站点中强制重新加载,但更新站点的信息仍无法更新,这是一个令人费解的事实。
我有一个本地更新站点(文件:/协议,在 Windows 上)和一个在线更新站点 (https://),我将其用作 staging/test 开源更新站点我正在维护的项目。
我使用本地存储的更新站点项目构建更新站点并且每次构建它时都将其擦除。当我在不同的 Eclipse 实例中测试了新版本并验证了我的更改后,我将整个更新站点上传到我的服务器。然后,为了模拟用户会做什么,我在另一个运行在不同物理机器上的 Eclipse 实例中更新插件。
我(昨天)构建了另一个版本 2.2.0.201702052007
并将其上传到我的服务器。之前的版本是 2.2.0.201702042059
.
我遇到的问题是,尽管我重新加载了更新站点信息,但我开发机器上的 Eclipse 实例(Mars.2 和 Neon)一直报告上一个版本到上一个版本。但是对方机器看新版本没有问题
这是我试过的:
- 重新加载更新站点的信息:每次,我都会收到一条确认消息,说"information for [...] has been reloaded from the server"但事实证明它还没有重新加载:我看到旧的功能版本。
- 从不同机器上的不同 Eclipse 实例访问更新站点:我看到了新版本。
- 正在从浏览器加载更新站点的
site.xml
文件:我看到了新版本。 - 使用 FileZilla 将整个更新站点下载到本地文件夹并解压缩
content.jar
和artifacts.jar
以便我可以读取嵌入在这些 JAR 文件中的 XML 文件:我明白了没有旧版本的痕迹。 - 删除更新站点,重新启动 Eclipse 并再次添加更新站点:问题仍然存在。
- 作为最后的手段,我从服务器上删除了更新站点的所有文件:Eclipse 仍然报告成功地从服务器重新加载信息。
- 我关闭了 VPS 上的 httpd 服务。 Eclipse 报告成功,直到我重新启动它然后失败。但是一旦网络服务器再次上线,它实际上并没有向网络服务器发送请求,因为它一直说没有更新站点!因此,在线更新站点现在显示为空,重新启动 Eclipse 不会改变这一点。
- [编辑] 更难以理解的是,重新加载 按钮报告成功即使没有网络连接到更新站点(网络接口已禁用)。[/编辑]
供应框架中似乎在 UI 和我的服务器之间的某处有一个缓存,尽管明确请求重新加载该信息,但它报告了过时的信息和功能版本。
是否有我可以删除的任何文件或文件夹以使配置框架自行重置?如果可能的话,我会完全禁用它的缓存。
我发现 Oomph 显然对更新站点信息检索过程有作用。
无论如何,我可以恢复正常操作(暂时)并通过先删除 C:\Users\...\.eclipse\org.eclipse.oomph.p2\cache
中的相应文件来正确重新加载信息。
通过“适当的文件”,我指的是该文件夹中的文件以您的 Eclipse 实例已知的存储库的 URL 命名。