У меня была эта проблема раньше, но это было давно. Теперь он всплыл: у меня есть проект Scala на основе sbt-build в IntelliJ IDEA, и когда я запускаю конфигурацию запуска, программа не находит ресурсы через getResource
или getResourceAsStream
. Это работало раньше, поэтому определенно пути в моем коде верны. Например, здесь вид браузера проекта:IntelliJ IDEA/Scala - не могу читать ресурсы
Вы можете видеть, что каталог resources
правильно отмечен, и поэтому «/at/iem/sysson/color-tables.bin» должно быть найденный. Вот код читателя:
package at.iem.sysson
object Main {
lazy val colorTables: Map[String, ColorPaletteTable] = {
val is = Main.getClass.getResourceAsStream("color-tables.bin")
...
}
}
Это используется для работы в IntelliJ, он все еще работает при запуске через sbt
или создания отдельного приложения. Но теперь с моей конфигурацией запуска от IntelliJ она сломана - getResourceAsStream
возвращает null
.
Я уже удалил проект .idea
и воссоздал его с нуля. Я также ушел и перезапустил IntelliJ. Ресурсы, безусловно, отмечены:
Что случилось? Он выглядит связанным с this, но удаление и повторное создание конфигурации запуска не помогают. Я получаю /usr/bin/java -Didea.launcher.port=7537 ...
, но каталог resources
просто отсутствует в -classpath
.
Обходной задачей является использование 'src/main/resources' в качестве рабочего каталога в конфигурации запуска. –
Какую версию вы используете? У меня была такая же проблема, но считаю, что она исправлена в IntelliJ IDEA 2016.2.4, Build # IU-162.2032.8, построенном 9 сентября 2016 года. – Matthew
@Matthew - да, я использую именно ту же версию –