IntelliJ IDEA / Scala:在类路径上运行配置未命中资源

时间:2016-04-16 13:46:06

标签: scala intellij-idea sbt classpath

我有这个问题,因为很久没有理解发生了什么:我在IntelliJ中导入一个基于sbt的项目,当从IntelliJ中运行它时,似乎缺少项目资源({{1 }})在类路径上,导致src/main/resources调用返回.getClass.getResource(...)enter image description here

我倾向于删除null并重新创建项目,因为我怀疑从先前的IntelliJ版本升级现有.idea时出现缓存问题。但今天没有运气。有时候将.idea更改为.getResource似乎可以解决问题,但今天再也没有运气了。

检查项目设置,目录正确切换为“资源”:

enter image description here

检查运行配置,正确选择了模块/类路径:

enter image description here

毋庸置疑,使用终端中的.getResourceAsStream按预期工作,可以找到资源。

FWIF,这是来自IDEA的运行调用,我根本找不到类路径中的资源:

sbt test:run

1 个答案:

答案 0 :(得分:1)

删除运行配置并重新创建"已修复"问题。它似乎是IntelliJ中的一个错误,可能与缓存或索引有关。

之前的破碎电话是:

java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:47427,suspend=y,server=n \
  -classpath ... \
  de.sciss.nuages.Demo

新的正确电话成了:

java -Didea.launcher.port=7534 \
  -Didea.launcher.bin.path=/home/hhrutz/Applications/idea-IC-16/bin \
  -classpath ... \
  com.intellij.rt.execution.application.AppMain de.sciss.nuages.Demo

因此,虽然类路径相同,但启动机制完全不同。