【发布时间】:2017-02-06 11:48:07
【问题描述】:
我正面临一个令人费解的事实,即尽管我在“首选项”>“安装/更新”>“可用软件站点”中强制重新加载,但更新站点的信息仍无法更新。
我有一个本地更新站点(文件:/ 协议,在 Windows 上)和一个在线更新站点 (https://),我将其用作我正在维护的开源项目的暂存/测试更新站点。
我使用存储在本地的更新站点项目构建更新站点,每次构建时都会将其清除。当我在不同的 Eclipse 实例中测试了新版本并验证了我的更改后,我将整个更新站点上传到我的服务器。然后,为了模拟用户会做什么,我在另一个运行在不同物理机器上的 Eclipse 实例中更新插件。
我(昨天)构建了另一个版本,2.2.0.201702052007 并将其上传到我的服务器。之前的版本是2.2.0.201702042059。
我遇到的问题是,尽管我重新加载了更新站点信息,但我的开发机器上的 Eclipse 实例(Mars.2 和 Neon)仍然报告从前一个版本到上一个版本。但是,另一台机器看到新版本没有问题。
这是我尝试过的:
- 重新加载更新站点的信息:每次,我都会收到一条确认消息,说“已从服务器重新加载 [...] 的信息”,但事实证明尚未重新加载:我看到旧功能版本。
- 从不同机器上的不同 Eclipse 实例访问更新站点:我看到了新版本。
- 从浏览器加载更新站点的
site.xml文件:我看到了新版本。 - 使用 FileZilla 将整个更新站点下载到本地文件夹并解压缩
content.jar和artifacts.jar,以便我可以读取这些 JAR 文件中嵌入的 XML 文件:我看不到旧版本的痕迹。 - 删除更新站点,重新启动 Eclipse 并再次添加更新站点:问题仍然存在。
- 作为最后的手段,我从服务器上删除了更新站点的所有文件:Eclipse 仍然报告成功地从服务器重新加载信息。
- 我关闭了 VPS 上的 httpd 服务。 Eclipse 报告成功,直到我重新启动它,然后它失败了。但是一旦网络服务器再次在线,它实际上并没有向网络服务器发送请求,因为它一直说没有更新站点!因此,在线更新站点现在显示为空,重新启动 Eclipse 并不会改变这一点。
- [EDIT] 更令人费解的是,重新加载按钮报告成功即使没有与更新站点的网络连接(网络接口已禁用)。[/EDIT]
在配置框架中似乎有一个缓存在 UI 和我的服务器之间的某处,它报告了一个过时的信息和功能版本,尽管明确请求重新加载该信息。
我可以删除任何文件或文件夹以使配置框架自行重置吗?如果可能的话,我会完全禁用它的缓存。
【问题讨论】: