我的Xtext编辑器会在打开时抛出com.google.inject.CreationException: Guice creation errors:
1) Error injecting method, java.lang.ExceptionInInitializerError ....
。
它' S ...
Caused by: java.lang.RuntimeException: Missing serialized package: MyDsl.ecore
at com.sample.impl.MyDslPackageImpl.loadPackage(MyDslPackageImpl.java:5989)
at com.sample.impl.MyDslPackageImpl.init(MyDslPackageImpl.java:1098)
at com.sample.MyDslPackage.<clinit>(MyDslPackage.java:58)
... 75 more
MyDsl.ecore文件位于model/generated
以及src-gen
文件夹com.sample.impl
包中。所以它在物理上正确的地方。但无论如何loadPackage
MyDslPackageImpl.java
方法无法加载它。
有没有人知道可能是什么原因以及如何解决这个问题?
答案 0 :(得分:0)
问题解决了。 原因是* .ecores文件大小。
解决方案:将语法拆分为单独的项目并将其导入另一个项目。
很好的教程如何执行此操作:http://christiandietrich.wordpress.com/2012/08/07/xtext-referencing-elements-of-one-dsl-from-another-dsl/