【发布时间】:2011-05-11 19:18:22
【问题描述】:
我正在编写一些 eclipse emf 代码并想打印 EObject 的内容(而不是将其存储到磁盘)。
这是我的尝试:
public static void print(EObject obj) {
Resource eResource = obj.eResource();
try {
eResource.save(System.out, null);
} catch (IOException e) {
e.printStackTrace();
}
}
但这会产生 NullPointerException。我已经尝试过了:
public static void print(EObject obj) {
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap()
.put("*", new XMIResourceFactoryImpl());
Resource resource = resourceSet.createResource(URI.createURI("dummyfile.xml"));
resource.getContents().add(obj);
try {
resource.save(System.out, null);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
这可行,但是如果不指定虚拟 URI 就不能打印到屏幕吗??
【问题讨论】:
标签: eclipse-emf