2016-09-19 4 views
1

Ich hatte dieses Problem vor, aber es ist eine Weile her. Nun ist es wieder aufgetaucht: Ich habe ein Scalaprojekt auf sbt-build in IntelliJ IDEA, und wenn ich eine run config starte, findet das Programm keine Ressourcen über getResource oder getResourceAsStream. Es hat vorher funktioniert, also sind die Pfade in meinem Code korrekt. Zum Beispiel, hier ist eine Ansicht des Projektbrowsers:IntelliJ IDEA/Scala - kann Ressourcen nicht lesen

enter image description here

Sie können sehen, dass das resources Verzeichnis korrekt markiert ist, und so „/at/iem/sysson/color-tables.bin“ sollte gefunden. Hier ist der Lesercode:

package at.iem.sysson 

object Main { 
    lazy val colorTables: Map[String, ColorPaletteTable] = { 
    val is = Main.getClass.getResourceAsStream("color-tables.bin") 
    ... 
    } 
} 

Diese verwendet in IntelliJ zu arbeiten, es funktioniert immer noch, wenn sie durch sbt laufen oder eine Standalone-Anwendung zu schaffen. Aber jetzt mit meiner Run-Konfiguration von IntelliJ ist es gebrochen - getResourceAsStream gibt null zurück.

Ich habe das .idea Projekt bereits gelöscht und es von Grund auf neu erstellt. Ich habe IntelliJ auch beendet und neu gestartet. Die Ressourcen werden auf jeden Fall markiert:

enter image description here

Was ist los? Es sieht im Zusammenhang mit this, aber das Löschen und Wiederherstellen der Laufkonfiguration hilft nicht. Ich bekomme /usr/bin/java -Didea.launcher.port=7537 ..., aber das Verzeichnis resources fehlt einfach aus der -classpath.

+0

Eine Umgehung ist die Verwendung von 'src/main/resources' als Arbeitsverzeichnis in der Laufkonfiguration. –

+0

Welche Version verwenden Sie? Ich hatte das gleiche Problem, aber glaube, dass es in IntelliJ IDEA 2016.2.4, Build # IU-162.2032.8 behoben wurde, gebaut am 9. September 2016 – Matthew

+0

@Matthew - ja, ich benutze genau die gleiche Version –

Antwort

1

Das gleiche ist mir gerade passiert (IntelliJ IDEA 2016.3.5).

Als ich in das Verzeichnis target/scala-2.11/classes schaute, fehlten die Ressourcen Verzeichnisse/Dateien.

Nur Wiederaufbau des Projekts hat nicht geholfen, aber löschentarget/scala-2.11/classes und Wiederaufbau tat.

Verwandte Themen