首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成器上的Xtext MWE2工作流崩溃

生成器上的Xtext MWE2工作流崩溃
EN

Stack Overflow用户
提问于 2020-12-23 16:26:07
回答 1查看 86关注 0票数 0

我目前正在为一个遗留项目创建一个Maven构建,并尝试在Maven构建中执行Xtext语言的编译,如here所述。我可以运行构建,但是一旦maven启动Xtext MWE2工作流,我就会在工作流中遇到以下问题:

代码语言:javascript
复制
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: Generator)
         org.eclipse.internal.xtend.xtend.parser.ParseException: extraneous input '-' expecting TEXT on line 289
        at org.eclipse.internal.xpand2.parser.XpandParseFacade$3.handleError(XpandParseFacade.java:74)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade$2.reportError(XpandParseFacade.java:63)
        at org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:596)
        at org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)
        at org.eclipse.internal.xpand2.parser.XpandParser.template(XpandParser.java:489)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade.file(XpandParseFacade.java:40)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade.file(XpandParseFacade.java:27)
        at org.eclipse.xpand2.XpandExecutionContextImpl$1.parse(XpandExecutionContextImpl.java:174)
        at org.eclipse.xtend.expression.ResourceManagerDefaultImpl.loadResource(ResourceManagerDefaultImpl.java:70)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findTemplate(XpandExecutionContextImpl.java:286)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findTemplate(XpandExecutionContextImpl.java:281)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findDefinition(XpandExecutionContextImpl.java:233)
        at org.eclipse.internal.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:236)
        at org.eclipse.internal.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:228)
        at org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
        at org.eclipse.internal.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:176)
        at org.eclipse.xpand2.XpandFacade.evaluate2(XpandFacade.java:62)
        at org.eclipse.xtext.generator.AbstractGeneratorFragment.generate(AbstractGeneratorFragment.java:42)
        at org.eclipse.xtext.generator.parser.antlr.AbstractAntlrGeneratorFragment.generate(AbstractAntlrGeneratorFragment.java:98)
        at org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment.generate(XtextAntlrGeneratorFragment.java:41)
        at org.eclipse.xtext.generator.DefaultGeneratorFragment.generate(DefaultGeneratorFragment.java:122)
        at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:154)
        at org.eclipse.xtext.generator.Generator.generate(Generator.java:396)
        at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:138)
        at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
        at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
        at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
        at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
        at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:254)
        at java.lang.Thread.run(Thread.java:748)

java.lang.RuntimeException: Problems running workflow at.jku.mevss.cdsl.GenerateConstraintDSL:
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: Generator)
         org.eclipse.internal.xtend.xtend.parser.ParseException: extraneous input '-' expecting TEXT on line 289
        at org.eclipse.internal.xpand2.parser.XpandParseFacade$3.handleError(XpandParseFacade.java:74)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade$2.reportError(XpandParseFacade.java:63)
        at org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:596)
        at org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)
        at org.eclipse.internal.xpand2.parser.XpandParser.template(XpandParser.java:489)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade.file(XpandParseFacade.java:40)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade.file(XpandParseFacade.java:27)
        at org.eclipse.xpand2.XpandExecutionContextImpl$1.parse(XpandExecutionContextImpl.java:174)
        at org.eclipse.xtend.expression.ResourceManagerDefaultImpl.loadResource(ResourceManagerDefaultImpl.java:70)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findTemplate(XpandExecutionContextImpl.java:286)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findTemplate(XpandExecutionContextImpl.java:281)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findDefinition(XpandExecutionContextImpl.java:233)
        at org.eclipse.internal.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:236)
        at org.eclipse.internal.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:228)
        at org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
        at org.eclipse.internal.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:176)
        at org.eclipse.xpand2.XpandFacade.evaluate2(XpandFacade.java:62)
        at org.eclipse.xtext.generator.AbstractGeneratorFragment.generate(AbstractGeneratorFragment.java:42)
        at org.eclipse.xtext.generator.parser.antlr.AbstractAntlrGeneratorFragment.generate(AbstractAntlrGeneratorFragment.java:98)
        at org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment.generate(XtextAntlrGeneratorFragment.java:41)
        at org.eclipse.xtext.generator.DefaultGeneratorFragment.generate(DefaultGeneratorFragment.java:122)
        at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:154)
        at org.eclipse.xtext.generator.Generator.generate(Generator.java:396)
        at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:138)
        at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
        at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
        at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
        at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
        at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:254)
        at java.lang.Thread.run(Thread.java:748)

        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:104)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:254)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException:
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: Generator)
         org.eclipse.internal.xtend.xtend.parser.ParseException: extraneous input '-' expecting TEXT on line 289
        at org.eclipse.internal.xpand2.parser.XpandParseFacade$3.handleError(XpandParseFacade.java:74)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade$2.reportError(XpandParseFacade.java:63)
        at org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:596)
        at org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)
        at org.eclipse.internal.xpand2.parser.XpandParser.template(XpandParser.java:489)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade.file(XpandParseFacade.java:40)
        at org.eclipse.internal.xpand2.parser.XpandParseFacade.file(XpandParseFacade.java:27)
        at org.eclipse.xpand2.XpandExecutionContextImpl$1.parse(XpandExecutionContextImpl.java:174)
        at org.eclipse.xtend.expression.ResourceManagerDefaultImpl.loadResource(ResourceManagerDefaultImpl.java:70)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findTemplate(XpandExecutionContextImpl.java:286)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findTemplate(XpandExecutionContextImpl.java:281)
        at org.eclipse.xpand2.XpandExecutionContextImpl.findDefinition(XpandExecutionContextImpl.java:233)
        at org.eclipse.internal.xpand2.ast.ExpandStatement.invokeDefinition(ExpandStatement.java:236)
        at org.eclipse.internal.xpand2.ast.ExpandStatement.evaluateInternal(ExpandStatement.java:228)
        at org.eclipse.internal.xpand2.ast.Statement.evaluate(Statement.java:41)
        at org.eclipse.internal.xpand2.ast.AbstractDefinition.evaluate(AbstractDefinition.java:176)
        at org.eclipse.xpand2.XpandFacade.evaluate2(XpandFacade.java:62)
        at org.eclipse.xtext.generator.AbstractGeneratorFragment.generate(AbstractGeneratorFragment.java:42)
        at org.eclipse.xtext.generator.parser.antlr.AbstractAntlrGeneratorFragment.generate(AbstractAntlrGeneratorFragment.java:98)
        at org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment.generate(XtextAntlrGeneratorFragment.java:41)
        at org.eclipse.xtext.generator.DefaultGeneratorFragment.generate(DefaultGeneratorFragment.java:122)
        at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:154)
        at org.eclipse.xtext.generator.Generator.generate(Generator.java:396)
        at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:138)
        at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
        at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
        at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
        at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
        at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:254)
        at java.lang.Thread.run(Thread.java:748)

        at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.handleIssues(Mwe2Bridge.java:56)
        at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:48)
        at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
        at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
        at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
        at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
        ... 6 more

我搜索了一下,试图找到一种使Generator更冗长的方法,但什么也找不到。不幸的是,我不能从错误消息中找到错误的来源,因为它说导致问题的元素是未知的。

我还用语言手动检查了.xtext文件中是否有松散的'-‘符号,但找不到。关于如何调试这个问题,有什么线索吗?我甚至不确定从哪里开始挖掘。

EN

回答 1

Stack Overflow用户

发布于 2020-12-23 18:32:32

根据您的comment无法提供有关该项目的进一步信息。相反,您正在寻找进一步调查根本原因的可能性。

我建议使用mvnDebug。此命令随Maven一起提供,并允许您调试maven插件的执行。为了正确地设置它,您需要一个包含插件源代码的eclipse (或任何IDE)。我猜,您使用的是链接中显示的xtext-maven-plugin。要获得源代码,我找到的最简单的方法是使用插件作为依赖项来设置一个新的Maven项目。确保版本相同,否则调试可能会产生有趣的结果。

代码语言:javascript
复制
<dependency>
    <groupId>org.eclipse.xtext</groupId>
    <artifactId>xtext-maven-plugin</artifactId>
    <version>${xtext-version}</version>
</dependency>

在您想要调查的某个类(例如org.eclipse.internal.xpand2.parser.XpandParser.template(XpandParser.java:489))中设置一个断点,然后使用以下命令执行Maven

代码语言:javascript
复制
mvnDebug verify

(或者你使用的任何目标)而不是

代码语言:javascript
复制
mvn verify

然后,Maven将等待远程调试器附加到它的进程。在Eclipse中,您可以创建一个新的Remote Java Application类型的调试配置,并通过Debug按钮启动它。

在那里,您可以使用标准调试技术来查看错误发生的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65421132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档