找不到密钥类型安全配置的配置设置

MIk*_*ode 20 scala typesafe-config

我试图 使用此代码实现配置工具typesafehub/config im

 val conf = ConfigFactory.load()
 val url = conf.getString("add.prefix") + id + "/?" + conf.getString("add.token")
Run Code Online (Sandbox Code Playgroud)

属性文件的位置是 /src/main/resources/application.conf

但由于某种原因,我收到了

com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'add'
Run Code Online (Sandbox Code Playgroud)

文件内容

add {
  token = "access_token=6235uhC9kG05ulDtG8DJDA"
  prefix = "https://graph.facebook.com/v2.2/"
  limit = "&limit=250"
  comments="?pretty=0&limit=250&access_token=69kG05ulDtG8DJDA&filter=stream"
  feed="/feed?limit=200&access_token=623501EuhC9kG05ulDtG8DJDA&pretty=0"
}
Run Code Online (Sandbox Code Playgroud)

一切看起来配置正确?我错过了什么.

谢谢,

三木

Rei*_*cer 26

错误消息告诉您,无论读取什么配置,它都不包括名为的顶级设置add.该ConfigFactory.load函数将尝试从各种位置加载配置.默认情况下,它将查找名称application后缀为.conf或的文件.json.它将该文件作为类路径上的Java资源进行查找.但是,各种系统属性将覆盖此默认行为.

所以,你错过的可能是其中之一:

  • 是否可能src/main/resources不在你的课程路径上?
  • config.file,config.resource还是config.url属性进行设置?
  • 你的application.conf档案是空的吗?
  • 你有没有application.conf在课程路径中找到的?
  • 关键是:addapplication.conf?中定义?

  • 为了完整起见,我想补充一点,当您在 var 赋值之后添加类似 java 的注释时,也可能发生此错误。也就是说,使用 // 而不是 #。 (4认同)

小智 5

您使用的是IDE还是sbt?使用Eclipse时我遇到了类似的问题.它一开始没有找到application.conf文件,后来又没有注意到编辑.但是,一旦我通过sbt运行我的程序,所有工作都很好,包括Eclipse.所以,我在库中添加了"main/resources"(项目 - >属性 - > Java构建路径 - >库","添加类文件夹").这也可能对你有所帮助.