在MPS中运行Language-Solution时出错

问题描述 投票:2回答:3

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

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

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

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

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

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

你们中有些人对此有经验吗?告诉我,是否还有其他有用的信息。

dsl mps
3个回答
0
投票

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


0
投票

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.