测试一下getResource(URI,boolean):

        System.out.println(EcorePackage.eINSTANCE.eResource());  // 1
        System.out.println(XMLTypePackage.eINSTANCE.eResource());  // 2

        ResourceSet rs 
=   new  ResourceSetImpl();
        rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put(
                Resource.Factory.Registry.DEFAULT_EXTENSION,
                
new  XMIResourceFactoryImpl());
        String uri 
=   " http://abc.eg/asdf " ;
//         System.out.println(rs.createResource(URI.createURI(uri)));  //  如果创建过临时的,得到这个
//         System.out.println(rs.createResource(URI.createURI(uri)));  //  如果创建过多个临时的,返回第一个,这个忽略
        rs.getPackageRegistry().put(uri, EcorePackage.eINSTANCE);  // 得到结果同1,如果上面取消注释,本地创建的优先

        System.out.println(rs.getResource(URI.createURI(uri), 
false ));  // 同1


createResource每次创建新的,getResource则是唯一实例的。

每个生成的XxxPackage.eINSTANCE会自行创建自己的Resource。如果在插件中修改了EcorePackge.eInstance.eResource(),会不会天下大乱呢?

==================
eclispe编辑器右边的Mark Occurrence很方便,但是家里电脑上的这个黄色小标记很不清楚。前几天调整了老半天,修改配色方案,换显示器驱动,调整显示器对比度、亮度都收效不大。昨天偶然把XP的桌面风格换回传统模式,搞定了。

ecore.ecore这个问题很有意思,以前看过schema.xsd,就是自己定义自己。据说JDK也是用java开发编译出来的。。。
先有鸡还是现有蛋呢?