簡體   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