我在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