使用Play访问java类中的application.conf属性!2.0

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (50)

我想将一个对象添加到Global作用域中,为了构建它,我需要将它传递给一个文件的路径。我不想在源代码中对文件路径进行硬编码,因此我想从application.conf中获取该路径。

问题是我不知道如何从java类访问这些属性。我试过这个:

Configuration.root().getString("file.path")

但它以NullPointerException结束。

假设我有一个可以使用的全局配置实例,我错了吗?谢谢。

提问于
用户回答回答于

尝试 Play.application().configuration().getString("your.key")

如评论(nico_ekito)中所述,请使用play.Play而不是play.api.Playplay.api.Play是为scala控制器(参见Marcus biesior Biesioroff的评论)

另外,play使用https://github.com/typesafehub/config,因此它也可以提供一些见解。

用户回答回答于

即使看起来很简单,下面是从配置文件获取属性的scala方法:

玩2.0和2.1

import play.api.Play.current
...
Play.application.configuration.getString("your.key")

玩2.2和+

import play.api.Play.current
...
current.configuration.getString("your.key")

使用Typesafe配置

import com.typesafe.config.ConfigFactory
...
ConfigFactory.load().getString("your.key");

扫码关注云+社区