java - 工件和元数据存储库管理器为空

标签 java eclipse eclipse-rcp rcp

我尝试按如下方式加载工件和元数据存储库管理器

private IArtifactRepositoryManager getArtifactRepositoryManager() {
  IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) 
     ServiceHelper.getService(ProvUIActivator.getContext(),
     IArtifactRepositoryManager.class.getName());
  if(artifactManager == null) {
    LOG.error("ArtifactRepositoryManager service nor found");
  }
  return artifactManager;
}

ServiceHelper 始终返回 null。还有其他方法来获取存储库管理器吗?我正在使用 Eclipse/RCP 3.7 (Indigo)。

我之前使用过 Eclipse 3.5 中的 bundle ,使用此代码一切正常:

private IMetadataRepositoryManager getMetadataRepositoryManager() {
  //Load repository manager
  IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) context.getService(
      context.getServiceReference(IMetadataRepositoryManager.class.getName()));
  return metadataManager;
}

最佳答案

我认为解决方案是确保 p2 插件在您的插件启动之前启动。在您的产品配置中相应地设置自动启动级别。

<configurations>
  <plugin id="my.plugin" autoStart="false" startLevel="7" />
  <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="6" />
  <plugin id="org.eclipse.equinox.p2.core" autoStart="true" startLevel="5" />
</configurations>

关于java - 工件和元数据存储库管理器为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107840/

相关文章:

android - LinearLayout 中 TextView 旁边的 ImageView

java - 将 Hibernate 与动态 Eclipse 插件一起使用

java - 无法将字符串对象从 DialogFragment 传递到 MainActivity

xml - Eclipse - 具有语法着色功能的最佳 XML 编辑器?

Java反射/泛型

eclipse - 使用 SonarLint 一次性分析整个项目 - 逐个文件分析会产生不完整的结果

css - 在 Eclipse 4 中使用 CSS 删除 CTabFolder 大纲

java - GWT:如何更改GWT Celltable中的行字体?

java - 网络圈。获取线程池ID

java - 如何使用spring集成java DSL实现enricher?