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项目做一些特殊的事情才能使用sbt进行IDEA编译?是否会导致此错误?否则,这个错误意味着什么?
重现
删除以前安装的任何设置后,使用新安装的IntelliJ IDEA。
使用git clone --recursive https://github.com/lampepfl/dotty
确保安装了最新版本的sbt
。从项目的根目录运行sbt managedSources
。
使用类型Import project from external model
的{{1}}设置和Oracle JDK 1.8导入IntelliJ。否则保持默认值。
右键单击项目资源管理器中的项目,然后选择sbt
。卸载除Load/Unload Modules...
,dotty
,dotty-compiler
和dotty-library
以外的所有模块。 (http://dotty.epfl.ch/docs/contributing/intellij-idea.html)
在项目资源管理器中,点击dotty-interfaces
。在compiler
菜单中点击Build
。
什么不能解决?
它无法解决任何问题Build Module 'dotty-compiler'
=> File
。
它没有修复任何东西来保持所有模块的加载。