我有一个全新安装的IntelliJ IDEA 15.0.3(社区版) . 我添加的唯一插件是Scala插件 . 我使用SBT版本0.13.8和Scala版本2.11.7创建了一个支持SBT的新Scala项目(文件 - >新建 - >项目... - > Scala - > SBT) . 然后我向src / main / scala添加了一个Hello世界类 . 构建项目(Build - > Make Project)是第一次工作 . 更改源并重新生成项目(再次使用Build - > Make Project)会导致以下错误:

Error:scalac: Error: Could not find an output directory for D:\Temp\scala\untitled3\src\main\scala\Main.scala in List((D:\temp\Scala\untitled3\target\scala-2.11\resource_managed\test,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\resources,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\target\scala-2.11\resource_managed\main,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\resources,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\target\scala-2.11\src_managed\test,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\scala-2.11,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\scala,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\java,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\target\scala-2.11\src_managed\main,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\scala-2.11,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\scala,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\java,D:\temp\Scala\untitled3\target\scala-2.11\classes))
scala.reflect.internal.FatalError: Could not find an output directory for D:\Temp\scala\untitled3\src\main\scala\Main.scala in List((D:\temp\Scala\untitled3\target\scala-2.11\resource_managed\test,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\resources,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\target\scala-2.11\resource_managed\main,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\resources,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\target\scala-2.11\src_managed\test,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\scala-2.11,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\scala,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\test\java,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\target\scala-2.11\src_managed\main,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\scala-2.11,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\scala,D:\temp\Scala\untitled3\target\scala-2.11\classes), (D:\temp\Scala\untitled3\src\main\java,D:\temp\Scala\untitled3\target\scala-2.11\classes))

    at scala.tools.nsc.settings.MutableSettings$OutputDirs.outputDirFor(MutableSettings.scala:311)

    at scala.tools.nsc.backend.jvm.BytecodeWriters$class.outputDirectory(BytecodeWriters.scala:26)

    at scala.tools.nsc.backend.jvm.GenASM.outputDirectory(GenASM.scala:24)

    at scala.tools.nsc.backend.jvm.BytecodeWriters$class.getFile(BytecodeWriters.scala:41)

    at scala.tools.nsc.backend.jvm.GenASM.getFile(GenASM.scala:24)

    at scala.tools.nsc.backend.jvm.GenASM$JBuilder.writeIfNotTooBig(GenASM.scala:528)

    at scala.tools.nsc.backend.jvm.GenASM$JMirrorBuilder.genMirrorClass(GenASM.scala:2833)

    at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.emitFor$1(GenASM.scala:194)

    at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.run(GenASM.scala:204)

    at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1501)

    at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1486)

    at scala.tools.nsc.Global$Run.compileSources(Global.scala:1481)

    at scala.tools.nsc.Global$Run.compile(Global.scala:1582)

    at xsbt.CachedCompiler0.run(CompilerInterface.scala:115)

    at xsbt.CachedCompiler0.run(CompilerInterface.scala:94)

    at xsbt.CompilerInterface.run(CompilerInterface.scala:22)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:497)

    at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:101)

    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:47)

    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:41)

    at org.jetbrains.jps.incremental.scala.local.IdeaIncrementalCompiler.compile(IdeaIncrementalCompiler.scala:29)

    at org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:26)

    at org.jetbrains.jps.incremental.scala.remote.Main$.make(Main.scala:67)

    at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:24)

    at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:497)

    at com.martiansoftware.nailgun.NGSession.run(NGSession.java:319)

重建项目(Build - > Rebuild)有效 . 在SBT控制台或终端窗口中构建项目也可以正常工作 . 本文IntelliJ Scala cannot build a simple project (SBT can)中提出的解决方案对我不起作用,因为项目的编译器输出路径已设置 .

EDIT: 有趣的是,当我关闭项目并将其作为SBT项目导入时,一切都按预期工作 .