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