1

我的 Xtext 编辑器com.google.inject.CreationException: Guice creation errors: 1) Error injecting method, java.lang.ExceptionInInitializerError ....在打开期间抛出。

它的...

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

有谁知道可能是什么原因以及如何解决这个问题?

4

1 回答 1

0

问题解决了。 原因是 *.ecores 文件大小。

解决方案:将语法拆分为单独的项目,并将一个导入另一个。

很好的教程如何做到这一点:http ://christiandietrich.wordpress.com/2012/08/07/xtext-referencing-elements-of-one-dsl-from-another-dsl/

于 2014-02-04T12:38:12.897 回答