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
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:
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
.
Eine Umgehung ist die Verwendung von 'src/main/resources' als Arbeitsverzeichnis in der Laufkonfiguration. –
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
@Matthew - ja, ich benutze genau die gleiche Version –