Play 2 - Файл внешней конфигурации не загружается в режиме производства

100
13

У меня возникли проблемы с внешним файлом в application.conf приложения play 2.1.1 в режиме производства (при запуске с start)


Следуя официальной документации , я добавил оператор include в свой application.conf:


[...]
include "/absolute/path/to/external/config/file.conf"

Содержимое загружается следующим образом:


configuration.getConfig("some-key")

Он отлично работает в режиме dev, но не работает в режиме производства (он всегда None).


Это мешает мне распространять мое приложение на производство.


Любая помощь/идеи были бы оценены.


EDIT:
Следуя комментарию Шаффрона, я пробовал несколько обходных решений.


Удаление первой косой черты из оператора include не сработало.


Загрузка конфигурационного файла через -Dconfig.file =/abs/path дала странные результаты, и кажется, что Play не ведет себя последовательно:


play start -Dconfig.file=/path/to/file.conf не работает. Однако запуск play THEN работает start -Dconfig.file=/path/to/file.conf работает??!!


Итак, я создал новую конфигурацию вместо использования Play:


val conf = ConfigFactory.parseFile(new File("/path/to/file.conf")).resolve()
val myValues = new Configuration(conf).getConfig("some-key").get

Надеюсь, это поможет кому-то, кто столкнулся с той же проблемой.

спросил(а) 2021-01-25T11:12:34+03:00 5 месяцев назад
1
Решение
64

У меня возникла проблема, когда мои изображения были неправильно отображены в режиме prod, но были в порядке в режиме dev.
Решением было написать путь как ( "images/..." ) вместо ( "/images/..." ). Попробуйте это, только ради науки.


В любом случае, если это не сработает, вот некоторая документация о дополнительном режиме Conf в prod, с консольными линиями, чтобы переопределить файл. $ start -Dconfig.file=/opt/conf/prod.conf

http://www.playframework.com/documentation/2.0/ProductionConfiguration

ответил(а) 2021-01-25T11:12:34+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема