我在Eclipse啓動時嘗試更新Eclipse插件時遇到一些問題。在Eclipse啓動時,我的程序在Help -> Check for Updates
處彈出對話框。但是,當用戶快速進行更新時,Eclipse會拋出一個異常,指出p2配置文件正在使用中。我相信這是因爲其他Eclipse作業在啓動時使用了p2配置文件,因此我的程序無法使用p2配置文件更新插件。我如何安全地使用p2配置文件?我怎樣才能單獨使用p2配置文件?如何安全地使用Eclipse p2配置文件?
我已經上傳了github重現問題所需的最小代碼片段。而且,我已經在an issue on the github repository中詳細描述了問題和步驟。
@Kane:顯然可以直接鎖定和解鎖配置文件。但是,它需要使用內部API,這是不鼓勵的。您建議從UpdateOperation獲取ProvisioningJob,並確保它屬於正在運行的配置文件更改作業系列。但是,我如何才能找到正在運行的配置文件更改作業的系列? – reprogrammer 2011-06-17 05:42:29
我想你可以在SimpleProfileRegistry.lockProfile的方法中添加斷點來查看哪個作業正在鎖定配置文件。 – Kane 2011-06-17 05:49:26
實現'Job.belongsTo'的'ProvisioningJob'是'LoadMetadataRepositoryJob'。所以,我們不能使用工作組來強制對配置文件進行獨佔訪問。 – reprogrammer 2011-06-18 00:16:49