运行 MPS 中的语言解决方案时出错

Errors when running Language-Solution in MPS

我正在使用 jetbrains MPS 开发 DSL。使用起来并不明显,但到目前为止我在设计部分取得了成功。 假设该语言是可执行的(扩展 executing.util),可以右键单击解决方案节点并 "run" 它。另外我使用一个单独开发的jar作为库(由生成器使用)。

我新建了一个项目来测试,尽可能简单,在生成器中添加了一些额外的节点和循环,发生错误并且无法撤消。

据我所知,有几种可能的错误来源。

执行 "run" 导致以下错误:

error: could not find or load main class MySolution.package.map_concept

你们中有人有这方面的经验吗? 告诉我,如果有一些额外的信息会有所帮助。

对我来说,这看起来像是生成器的问题。您是否已完全重建项目 - 右键单击​​结构树中的 "project" 节点? 根映射模板是否正确?如果你能分享你的项目,我可以看看

您似乎已将 jar 文件作为模型添加到语言中,这使得它对解决方案不可见。按照 https://confluence.jetbrains.com/display/MPSD32/Getting+the+dependencies+right#Gettingthedependenciesright-AddingexternalJavaclassesandjarstoaprojectruntimesolutions 中的说明创建一个单独的库解决方案对我有用。

一个小提示,可以节省我一些时间,也可以为其他人解决这个问题,即使您按照其他答案中的说明进行操作也是如此。

在 Java 选项卡上包含库后,当系统提示您将库添加到模块时,如果您已经将它们包含在“通用”选项卡的第一位,请关闭 window。否则,尽管添加了两次,但它们只列出一次,导致编译失败。