Вопрос по java, file, playframework-2.0 – Пользовательские файлы конфигурации - Play! Framework 2.0

7

У меня есть вопрос о загрузке свойств из пользовательских файлов конфигурации. я пытался два разных подхода к загрузке моегоoauth.properties файл, но я не могу заставить кого-либо работать, так что я надеюсь, что кто-то здесь может мне помочь.

Первым подходом, который я попробовал, было добавить файл в каталог conf и ссылаться на это таким образом:

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

Но это только что вернулосьNULL.

Второй подход, который я пробовал, был добавить:

@include.oauthProperties = oauth.properties

кapplication.conf файл, а затем ссылаться на него в мой контроллер вроде:

String clientId = oauthProperties.clientId;

Однако это не компилируется.

Может ли кто-нибудь пролить свет на то, что я здесь делаю неправильно?

Ваш Ответ

4   ответа
6

/ conf & quot; каталог, используя Play 2.2, это можно сделать следующим образом (обратите внимание, что «/ conf» находится на пути к классам, поэтому его не следует включать).

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

Что сработало у меня с файлом в/conf:

import com.typesafe.config.ConfigFactory

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

является ли conf частью classpath. Так что я бы попробовал/conf/oauth.properties или поместите файл в путь к классам. Кроме того, вы должны использоватьPlay.application.classloader() вместо Classloader.

О включении: я все еще думаю, что вам нужно позвонитьPlay.application().configuration().get("clientID");

Для анализа ситуации вы можете запустить приложение с-Dconfig.trace=loads и проанализировать конфигурацию сPlay.application().configuration().root().render().

Надеюсь, что это даст вам достаточно советов, чтобы вы могли решить свою проблему.

-2

scala.io.Source Вы также можете сделать что-то вроде

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

Похожие вопросы