eclipse Xtext在ecore文件中使用子包定义语法

0yycz8jy  于 7个月前  发布在  Eclipse
关注(0)|答案(1)|浏览(66)

我想从Ecore文件中使用Xtext生成语法。我成功地从现有的Ecore中创建了Xtext项目,但当我在Ecore中创建子包并重新生成.xtext文件时(将包含对子包uri的引用,如下图所示)

执行mwe2文件时显示以下错误:

Caused by: java.lang.IllegalStateException: Problem parsing 'file:/Users/abdelghanialidra/eclipse-workspace/test2/org.xtext.example.lang4Dsl/../org.xtext.example.lang4Dsl/src/org/xtext/example/mydsl1/MyDsl.xtext':
XtextLinkingDiagnostic: null:5 Couldn't resolve reference to EPackage 'http://www.example.fr/pack'

字符串
其中http://www.example.fr/pack是我的Ecore文件中的子包的URL。注意,如果我在.xtext文件中删除对子包的引用,一切都正常,但显然我不能访问子包中的类。
任何想法,我如何才能使它的工作与子包?
Thanks in advance

yrwegjxp

yrwegjxp1#

很抱歉,这不是您想要的答案,但在EMF中不应使用嵌套的EPackages,因为它破坏了nsr和EPackages之间的1-1关系。许多工具将无法正常工作。如果您需要分离关注点,只需使用第二个元模型。
如果Xtext明确不支持嵌套的EPackages,我不会感到太惊讶。

相关问题