自定义配置文件 - 玩! 框架2.0(Custom configuration files -

2019-06-24 01:56发布

我有一个关于从加载自定义配置文件的属性问题。 我已经尝试了两种不同的方法来加载我oauth.properties文件,但我不能让任何工作,所以我在这里希望有人能帮助我。

我尝试的第一个方法是将文件添加到conf目录正是如此引用它:

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

但是,刚刚返回NULL

第二种方法我尝试了补充:

@include.oauthProperties = oauth.properties

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

String clientId = oauthProperties.clientId;

然而,这并不编译。

任何人都可以阐明我做错了什么在这里一些轻?

Answer 1:

我不知道如果CONF是对类路径的一部分。 所以我想尝试/conf/oauth.properties或将文件放入类路径。 此外,你应该使用Play.application.classloader()而不是类加载器。

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

为了分析的情况下,你可以开始与应用-Dconfig.trace=loads并分析与配置Play.application().configuration().root().render()

希望这给你足够的提示,这样就可以解决你的问题。



Answer 2:

什么工作对我来说,在一个文件/conf

import com.typesafe.config.ConfigFactory

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


Answer 3:

在一般情况下,获取从“/ conf目录”目录中的任何文件,使用播放2.2是可以做到如下(请注意,“/ conf目录”是在类路径中,所以你不应该包括它)。

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


Answer 4:

如果你想使用scala.io.Source你也可以这样做

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


文章来源: Custom configuration files - Play! Framework 2.0