我以前遇到过这个问题,但已经有一段时间了。现在它重新浮出水面:我在 IntelliJ IDEA 中有一个基于 sbt-build 的 Scala 项目,当我启动运行配置时,该程序没有通过 getResource
找到资源。或 getResourceAsStream
.它以前确实有效,所以我的代码中的路径肯定是正确的。例如,这里是项目浏览器的 View :
您可以看到 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
中只是缺少目录.
最佳答案
我刚刚发生了同样的事情(IntelliJ IDEA 2016.3.5)。
当我查看 target/scala-2.11/classes
时dir,资源目录/文件丢失。
只是重建项目没有帮助,但是 删除 target/scala-2.11/classes
和重建做到了。
关于scala - IntelliJ IDEA/Scala - 无法读取资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39572113/