2017-02-06 231 views
3

我面臨一個令人費解的事實,即更新網站的信息無法更新,儘管我在「首選項」>「安裝/更新」可用軟件站點中強制重新加載。如何清除Eclipse p2存儲庫緩存

我有一個本地更新站點(文件:/協議,在Windows上)和一個在線更新站點(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不會更改該更新。
  • [編輯]更令人費解的刷新按鈕報告成功,即使沒有網絡連接,更新站點(網絡接口禁用)。[/編輯]

似乎是在供應框架在用戶界面和我的服務器之間存在一個緩存,用於報告過時的信息和功能版本,儘管顯式請求重新載入了該信息。

是否有任何文件或文件夾,我可以刪除以供應框架重置自己?如果可能的話,我會完全禁用它的緩存。

回答

3

我發現Oomph顯然在更新站點信息檢索過程中有一個操作。

無論如何,我可以恢復正常的操作(現在),並通過首先刪除C:\Users\...\.eclipse\org.eclipse.oomph.p2\cache中的相應文件正確重新載入信息。

通過「合適的文件」,我指的是該文件夾中的文件是根據Eclipse實例已知的存儲庫的URL命名的。

+0

謝謝,很難找到grep搜索發現工作區或eclipse文件夾中沒有跟蹤。 –

+0

我提出了一個針對這種混淆行爲的錯誤:https://bugs.eclipse.org/bugs/show_bug.cgi?id = 513746 –