使用Eclipse Oxygen 4.7.2,IArtifactRepositoryManager为null

时间:2018-04-18 09:51:59

标签: eclipse-rcp p2

以下功能在 Eclipse Neon 4.6.x 目标运行时中运行了很长时间:

public static boolean addRepository(IProvisioningAgent agent, String repo) {
    Utils.log(String.format("adding repository at %s", repo));
    IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
    IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
    if (metadataManager == null || artifactManager == null) {
        Utils.log("P2Utils.addRepository - missing metadata or artifact manager");
        return false;
    }

    try {
        URI uri = new URI(repo);
        metadataManager.addRepository(uri);
        artifactManager.addRepository(uri);
        return true;
    } catch (Exception e) {
        Utils.log(e);
        return false;
    }
}

它停止使用 Eclipse Oxygen 4.7.2 目标,返回的 artifactManager 始终为null。有没有人知道改变了什么以及如何解决这个问题?它打破了我们的更新..,我不知所措。

1 个答案:

答案 0 :(得分:0)

得到eclipse forum的回复,有些插件缺失:
org.eclipse.equinox.p2.artifact.repository
org.eclipse.equinox.p2.transport.ecf