我以前有過這個問題,但它已經有一段時間了。現在它重新出現了:我在IntelliJ IDEA中有一個基於sbt-build的Scala項目,當我啓動一個運行配置時,程序通過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
目錄。
解決方法是在運行配置中使用'src/main/resources'作爲工作目錄。 –
你使用的是什麼版本?我有同樣的問題,但相信它將在2016年9月9日生成的IntelliJ IDEA 2016.2.4,Build#IU-162.2032.8中修復 – Matthew
@Matthew - 是的,我使用的是完全相同的版本 –