IArtifactRepositoryManager 在 Eclipse Oxygen 4.7.2 中为空

IArtifactRepositoryManager is null with Eclipse Oxygen 4.7.2

以下函数在 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 始终为空。有没有人知道发生了什么变化以及如何解决这个问题?它破坏了我们的更新..,我不知道去哪里看。

收到 eclipse forum 的回复,缺少一些插件:
org.eclipse.equinox.p2.artifact.repository
org.eclipse.equinox.p2.transport.ecf