7

カスタム構成ファイルからのプロパティの読み込みについて質問があります。ファイルをロードするために2つの異なるアプローチを試みましoauth.propertiesたが、どちらもうまくいかないので、ここの誰かが私を助けてくれることを願っています.

私が試した最初のアプローチは、ファイルを conf ディレクトリに追加して、次のように参照することでした。

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

しかし、それはちょうど戻ってきNULLました。

私が試みる2番目のアプローチは、追加することでした:

@include.oauthProperties = oauth.properties

application.confファイルに追加し、コントローラーで次のように参照します。

String clientId = oauthProperties.clientId;

ただし、これはコンパイルされません。

ここで私が間違っていることに誰かが光を当てることができますか?

4

4 に答える 4

16

のファイルで何がうまくいったか/conf

import com.typesafe.config.ConfigFactory

val myConfig = ConfigFactory.load("myfile.properties").getConfig("my.config.prefix")
于 2012-08-08T14:47:03.303 に答える
12

confがクラスパスの一部であるかどうかはわかりません。/conf/oauth.propertiesそのため、ファイルをクラスパスに入れようとします。Play.application.classloader()さらに、Classloaderの代わりに使用する必要があります。

インクルードについて:私はまだあなたが電話する必要があると思いますPlay.application().configuration().get("clientID");

状況を分析するには、でアプリを起動し-Dconfig.trace=loads、で構成を分析しますPlay.application().configuration().root().render()

これで問題を解決できる十分なヒントが得られることを願っています。

于 2012-05-01T15:31:12.523 に答える