2014-04-04 9 views
8

findet Versuch, mit scala in IDEA mit scala-Plug-in zu spielen:IDEA Scala: Es kann kein Ausgabeverzeichnis

Mein Hello World Objekt:

object HelloWorld { 

    def main(args: Array[String]) { 
    println("Hello") 
    } 

} 

Und manchmal ich nächsten Fehler bekommen, wenn Taste ' Führen Sie HelloWorld aus dem Kontextmenü aus.

scalac: Error: Could not find an output directory for /Users/username/Work/src/sandbox/src/HelloWorld.scala in List((/Users/username/work/src/sandbox/src,/Users/username/work/src/sandbox/out/production/sandbox)) 
scala.reflect.internal.FatalError: Could not find an output directory for /Users/username/Work/src/sandbox/src/HelloWorld.scala in List((/Users/username 
/work/src/sandbox/src,/Users/username/work/src/sandbox/out/production/sandbox)) 
at scala.tools.nsc.settings.MutableSettings$OutputDirs.outputDirFor(MutableSettings.scala:303) 
at scala.tools.nsc.backend.jvm.BytecodeWriters$class.outputDirectory(BytecodeWriters.scala:26) 
at scala.tools.nsc.backend.jvm.BytecodeWriters$class.scala$tools$nsc$backend$jvm$BytecodeWriters$$getFile(BytecodeWriters.scala:37) 
at scala.tools.nsc.backend.jvm.BytecodeWriters$ClassBytecodeWriter$class.writeClass(BytecodeWriters.scala:89) 
at scala.tools.nsc.backend.jvm.GenASM$AsmPhase$$anon$4.writeClass(GenASM.scala:67) 
at scala.tools.nsc.backend.jvm.GenASM$JBuilder.writeIfNotTooBig(GenASM.scala:458) 
at scala.tools.nsc.backend.jvm.GenASM$JMirrorBuilder.genMirrorClass(GenASM.scala:2954) 
at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.run(GenASM.scala:113) 
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583) 
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557) 
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553) 
at scala.tools.nsc.Global$Run.compile(Global.scala:1662) 
at xsbt.CachedCompiler0.run(CompilerInterface.scala:126) 
at xsbt.CachedCompiler0.run(CompilerInterface.scala:102) 
at xsbt.CompilerInterface.run(CompilerInterface.scala:27) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:102) 
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:48) 
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:41) 
at org.jetbrains.jps.incremental.scala.local.IdeaIncrementalCompiler.compile(IdeaIncrementalCompiler.scala:26) 
at org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:25) 
at org.jetbrains.jps.incremental.scala.remote.Main$.make(Main.scala:58) 
at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:21) 
at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala) 
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at com.martiansoftware.nailgun.NGSession.run(NGSession.java:319) 

Dieser Fehler sehr ärgerlich, weil es beheben muss ich IDEA neu zu starten, sauber/mein Projekt kompilieren, fügen/Startkonfiguration einige Male entfernen. Auch die Befehlszeile vom Fehler kann vom Terminal aus manuell ausgeführt werden.

+1

Ich denke, das ist ein Paradies-Problem. Am besten ist es, auf der Intellij Bug Tracker Website zu posten. –

Antwort

7

bei dem Fehler Kommentar Suche:

kann kein Ausgabeverzeichnis für finden:
/Users/Benutzername/Arbeit /src/sandbox/src/HelloWorld.scala

in

  • /Users/Benutzername/Arbeit/src/sandbox/src
  • /Users/Benutzername/Arbeit/src/Sandbox/out/Produktion/Sandbox

auf die Umwelt Je Sie zum IntelliJ in der Groß-/Kleinschreibung Unterschied Angelegenheiten läuft. Stellen Sie sicher, dass Ihre Eigenschaft user.home korrekt festgelegt ist.

0

Antwort von Norbert Radyk galt nicht für mich. Pfade waren in meinem Fall korrekt. Ich musste target/scala-2.11/test-classes Ordner löschen, um Intellij zu zwingen, die Testklasse neu zu kompilieren. Ein bisschen ein Schmerz obwohl es funktioniert, solange ich nicht den Test selbst modifizieren muss. Also nicht wirklich eine Lösung, aber ein bisschen wie ein Hack, falls Sie wirklich einen Test debuggen müssen.

Verwandte Themen