繁体   English   中英

自定义配置文件-播放! 框架2.0

[英]Custom configuration files - Play! Framework 2.0

我有一个关于从自定义配置文件加载属性的问题。 我尝试了两种不同的方法来加载oauth.properties文件,但是我两种方法都无法正常工作,因此我希望这里的人能够为我提供帮助。

我尝试的第一种方法是将文件添加到conf目录中,并由此进行引用:

String oauthPropertiesFile = ClassLoader.getSystemResource("oauth.properties").getFile();

但这只是返回NULL

我尝试的第二种方法是添加:

@include.oauthProperties = oauth.properties

application.conf文件,然后在我的控制器中引用它,例如:

String clientId = oauthProperties.clientId;

但是,这不能编译。

谁能说明我在这里做错了什么?

/conf的文件对我/conf

import com.typesafe.config.ConfigFactory

val myConfig = ConfigFactory.load("myfile.properties").getConfig("my.config.prefix")

我不确定conf是否是类路径的一部分。 所以我会尝试/conf/oauth.properties或将文件放入类路径。 此外,您应该使用Play.application.classloader()而不是Play.application.classloader()

关于包括:我仍然认为您需要调用Play.application().configuration().get("clientID");

要分析这种情况,您可以使用-Dconfig.trace=loads启动应用程序,并使用Play.application().configuration().root().render()分析配置。

希望这能给您足够的提示,以便您解决问题。

在一般情况下,要使用Play 2.2从“ / conf”目录中获取任何文件,可以按照以下步骤进行操作(请注意,“ / conf”在类路径上,因此您不应包括它)。

Play.application().classloader().getResource("any_file");

如果要使用scala.io.Source还可以执行以下操作

Source.fromFile(Play.getFile("path-in-your-play-project"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM