Xtext DSL开发中的高级技巧与实践
1. 修复独立设置(StandaloneSetup)
在编写JUnit测试时,若尝试运行修改后的生成存根 SchoolParsingTest ,执行过程中可能会抛出异常:
java.lang.IllegalStateException: Unresolved proxy http://www.example.org/school#//School. Make sure the EPackage has been registered.
这是因为基于导入的Ecore模型生成的 StandaloneSetup 类未对EMF包进行注册,需要手动完成。以 SchoolStandaloneSetup 为例,修改如下:
class SchoolStandaloneSetup extends SchoolStandaloneSetupGenerated {
...
override register(Injector injector) {
if (!EPackage.Registry.INSTANCE.containsKey(SchoolPackage.eNS_URI)) {
EPackage.Registry.INSTANCE.put(SchoolPackage.eNS_URI, SchoolPackage.eINSTANCE);
超级会员免费看
订阅专栏 解锁全文
363

被折叠的 条评论
为什么被折叠?



