IntelliJ中无法运行Scala/Scala.js跨项目测试
我之前在使用scala-adapters-wizard创建Scala/Scala.js跨项目时,也碰到过和你一模一样的IntelliJ无法识别shared模块测试类的问题,下面几个方法亲测有效,你可以试试:
刷新并重新同步sbt项目
IntelliJ经常会出现和sbt目录结构不同步的情况,尤其是这种拆分JVM/JS的跨项目。你可以:- 点击右侧sbt面板的刷新按钮(环形箭头图标);
- 或者直接在项目根目录的终端里运行
sbt reload;
等同步完成后,再尝试打开测试配置运行。
手动调整运行配置的类路径(临时方案)
如果刷新同步没用,你可以手动指定测试类的路径:- 打开运行配置窗口,选中你的
sharedJVM测试配置; - 在「Test kind」里选择「All in package」或者「Single class」;
- 切换到「Classpath」标签,检查是否包含了 shared/.jvm/target/scala-2.12/test-classes 这个目录,如果没有,手动添加进去;
不过这只是临时解决办法,还是建议优先让sbt和IntelliJ同步好。
- 打开运行配置窗口,选中你的
检查插件版本兼容性
确保你的sbt-scalajs插件版本和IntelliJ的Scala插件版本互相兼容:- 在项目的
project/plugins.sbt文件里查看sbt-scalajs的版本; - 打开IntelliJ的插件市场,确认Scala插件是最新的兼容版本,或者调整sbt插件版本到IDE支持的范围。
- 在项目的
用sbt重新生成IDE配置文件
借助sbt-idea插件让sbt帮我们生成正确的IntelliJ配置:- 在
project/plugins.sbt里添加插件依赖:addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0"); - 在终端运行
sbt gen-idea; - 关闭IntelliJ后重新打开项目,此时IDE会使用sbt生成的配置来识别模块和测试路径。
- 在
内容的提问来源于stack exchange,提问作者pme
相关产品推荐
相关产品推荐

