出问题的代码如下:
PurchaseOrder aPurchaseOrder = POFactory.eINSTANCE.createPurchaseOrder();
...
...
ResourceSet resourceSet = new ResourceSetImpl();
URI fileURI = URI.createFileURI(new File("pearXML.xml").getAbsolutePath());
Resource poResource = resourceSet.createResource(fileURI);
poResource.getContents().add(aPurchaseOrder);//抛出异常
poResource.save(null);
代码中标注的一行抛出异常,异常为最常见的java.lang.NullPointerException
Exception in thread "main" java.lang.NullPointerException
at myfirstEMF.myfirstEMF.load(myfirstEMF.java:175)
at myfirstEMF.myfirstEMF.main(myfirstEMF.java:68)
异常抛出的具体位置是在poResource.getContents()的时候,因为我改为EList a = poResource.getContents();依旧会出现异常。其实这是Eclipse Modeling Framework 2.0这本书中最开始的例子,就是介绍如何save和load资源。我也明白这个异常是指我引用了访问了空的对象,可是我不清楚为何createResource会得到一个null的resource,如此这样当然后面会异常,可是原因在哪里?如何改?谢了.....