我有用Xtext编写的DSL,其中使用Xbase来实现表达式。为了生成代码,我使用JVM模型推断机制。但由于该项目是由Maven构建的,所以我不使用Xtext构建器在Eclipse中构建我的项目,而是依赖我编写的Maven插件来编译我的DSL文件。 然后将Maven插件的输出添加到Eclipse项目的Build-Path中,以便我可以在其他Eclipse项目中使用它。
如果我正在编辑Maven插件已经生成Java文件的DSL文件,则会出现问题,因为Xtext推断现在有两个版本的推断类型可用。一个版本仅由其自身推断,一个由Maven插件生成,可在Build-Path上获得。 结果是只出现在DSL编辑器中的幻像错误。
我想到的一个解决方案是指示Xbase范围以某种方式忽略派生资源中抵制的类型,如Maven插件生成的那些。我怎样才能做到这一点?
亲切的问候, 扬
PS:项目设置有点不可改变。因此,依赖于Xtext构建器不是一种选择。