scala - IntelliJ IDEA/Scala - 无法读取资源

标签 scala intellij-idea classpath

我以前遇到过这个问题,但已经有一段时间了。现在它重新浮出水面:我在 IntelliJ IDEA 中有一个基于 sbt-build 的 Scala 项目,当我启动运行配置时,该程序没有通过 getResource 找到资源。或 getResourceAsStream .它以前确实有效,所以我的代码中的路径肯定是正确的。例如,这里是项目浏览器的 View :

enter image description here

您可以看到 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。资源肯定标明:

enter image description here

怎么了?它看起来与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/

相关文章:

java - Scala 脚本引擎创建另一个单例实例

Scala REPL 在 Ubuntu 上不起作用

java - Gradle-构建 : Cannot convert the provided notation to a File or URI

java - Tomcat 7 将所有日志记录到 catalina.out 但不记录到 log4j2 定义的文件中

eclipse - Gradle IDE(Eclipse)文档

scala - SBT 项目发布 2 个工件的惯用方式是什么?

scala - 安装scala测试库依赖报错

java - Intellij-IDEA gradle 模板

android - 解决compileClasspath的依赖项时出错

java - 有没有办法判断类路径资源是文件还是目录?