[英]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.