Play Framework - Как сохранить в нем конфигурации моего модуля?

Я использую Play Framework 2.2.x/Java.

Я хочу создать модуль, чтобы отделить часть логики от моего основного приложения, а также я хочу использовать application.conf внутри модуля для его конфигураций< /strong> вместо использования конфигурационного файла основного приложения!

Но использование следующего фрагмента в модуле считывает значения только из основного файла конфигурации приложения:

Play.application().configuration().getString("myVar");

Есть ли другой способ получить значения из файла application.conf внутри моего модуля?


person Marashi    schedule 10.11.2013    source источник


Ответы (2)


Play использует библиотеку typesafe-config для чтения конфигурации. На самом деле это библиотека Java, хотя Typesafe — компания Scala.

В документации для typesafe-config говорится: «Идея состоит в том, что библиотеки и фреймворки должны поставляться с файлом reference.conf в своей банке».

Таким образом, конфигурация вашего модуля должна храниться в файле с именем reference.conf - формат точно такой же, отличается только имя.

Проблема возникает из-за конфликта между двумя файлами конфигурации, потому что они называются одинаково, поэтому, вероятно, это происходит по порядку пути к классам или что-то в этом роде. Не используйте два файла application.conf — раньше эта проблема меня мучила!

person Robin Green    schedule 10.11.2013
comment
Это относится и к Play v1.x? - person Preslav Rachev; 19.11.2013
comment
Нет, Play 1.x не использует typesafe-config. - person Robin Green; 19.11.2013

Сохраните вашу конфигурацию в ie. /conf/my-module.conf основного приложения, а затем добавьте его в конце application.conf, например:

include "my-module.conf"
person biesior    schedule 10.11.2013
comment
Да, это тоже должно работать, но нет необходимости добавлять include — см. мой ответ. - person Robin Green; 10.11.2013