2

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

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

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

  • 依赖项(它们在 MPS 中很棘手)
  • 我的罐子
  • 错误的缓存文件左右

执行“运行”会导致以下错误:

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

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

4

3 回答 3

0

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

当在 Java 选项卡上包含库后提示将库添加到模块时,如果您已经将它们包含在 Common 选项卡上,则关闭该窗口。否则,尽管已添加两次,但它们仅列出一次,从而导致编译失败。

于 2020-05-18T18:28:17.873 回答
0

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

于 2015-07-23T08:20:20.760 回答
0

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

于 2015-07-24T09:31:38.207 回答