【问题标题】:What is NS URI in EMF?EMF 中的 NS URI 是什么?
【发布时间】:2011-05-03 05:38:04
【问题描述】:

我使用 EMF 生成了一些类,现在我想实例化它们。我已经创建了与模型和元模型关联的 xmi 文件。现在我想将模型作为实例加载到我的程序中,但它不断抛出 NullPointerException。

我的代码是:

Map<String,Object> registry = EPackage.Registry.INSTANCE;
String workflowURI = ExcelEditorPackage.eNS_URI;
System.out.println(workflowURI);
ExcelEditorPackage wfPackage = (ExcelEditorPackage) registry.get(workflowURI); //throw NPE here
ExcelEditorFactory wfFactory = wfPackage.getExcelEditorFactory();
Page workflow = wfFactory.createPage();

因为 wfPackage 为空,所以它会在 wfFactory 处抛出异常。我的 NS URI 是“http://www.sg/model”(此 URL 不存在)。

【问题讨论】:

    标签: java eclipse-emf


    【解决方案1】:

    NS URI 表示命名空间 URI。那是java中包的xml等价物。显然 EMF 运行时无法加载与您指定的 URI 关联的包。检查您指定的 URI 是否正确。

    【讨论】:

      【解决方案2】:

      因为 wfPackage 为空,所以它会抛出 at wfFactory。

      如果 NPE 真的被扔到您指定的行,它不可能发生,因为wfPackagenull。实际上,它必须表明registrynull

      我的 NS URI 是“http://www.sg/model”(此 URL 不存在)。

      那应该没关系。 NS URI 只是一个“唯一名称”,表示模型的 XML 命名空间。它不一定是可解决的。

      【讨论】:

        猜你喜欢
        • 2011-04-14
        • 2013-06-19
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 2011-11-17
        • 2012-07-05
        • 2022-08-13
        相关资源
        最近更新 更多