IntelliJ IDEA(最新社区版本)无法编译以下错误的dotty编译器:

scala.reflect.internal.FatalError: Could not find an output directory for
/src/contrib/dotty/scala-backend/src/compiler/scala/tools/nsc/backend/ScalaPrimitivesOps.scala
in List(
(/src/contrib/dotty/compiler/test-resources,/src/contrib/dotty/compiler/target/scala-2.12/classes),
(/src/contrib/dotty/compiler/target/scala-2.12/resource_managed/main,/src/contrib/dotty/compiler/target/scala-2.12/classes),
(/src/contrib/dotty/compiler/target/scala-2.12/src_managed/main,/src/contrib/dotty/compiler/target/scala-2.12/classes),
(/src/contrib/dotty/compiler/test,/src/contrib/dotty/compiler/target/scala-2.12/classes),
(/src/contrib/dotty/compiler/src,/src/contrib/dotty/compiler/target/scala-2.12/classes))

显然,代码没有任何问题,Dotty似乎可以使用sbt进行编译,因为run命令有效。 一个sbt项目是否需要做一些特殊的事情才能使IDEA使用sbt进行编译? 这是否引起此错误?否则,此错误是什么意思?

重现
  • 从以前的安装中删除任何设置后,请使用新安装的IntelliJ IDEA。
  • 使用git clone --recursive https://github.com/lampepfl/dotty下载存储库
  • 确保已安装最新版本的sbt。从项目的根目录运行sbt managedSources
  • 在Oracle JDK 1.8中使用Import project from external model类型的设置sbt导入IntelliJ。否则保留默认值。
  • 在项目浏览器中的项目上单击鼠标右键,然后选择Load/Unload Modules...。卸载dottydotty-compilerdotty-librarydotty-interfaces以外的所有模块。 (http://dotty.epfl.ch/docs/contributing/intellij-idea.html中列出的模块)
  • 在项目浏览器中,单击compiler。从Build菜单中,单击Build Module 'dotty-compiler'

  • 不能解决的问题

    它不能解决任何问题File => Invalidate Caches/Restart

    它不会解决任何问题以保持所有模块的加载。

    最佳答案

    您可以尝试使用内置的sbt shell来编译sbt项目:

    scala - IntelliJ : could not find an output directory中的Scala编译错误-LMLPHP

    10-08 20:20