Play dist task: как предотвратить запаковку файлов conf

При запуске задачи dist дистрибутив включает файлы conf (из <app>/conf) в двух местах:

  1. <app.zip>/conf
  2. <app.zip>/lib/<app.jar>

Это означает, что application.conf (и все остальные файлы conf в пределах <app>/conf) будут помещены как в корень zip-пакета, так и в корень основной jar-библиотеки. При запуске приложения используются файлы внутри jar, поэтому копии в <unzipped-app>/conf полностью игнорируются.

Мне интересно, что здесь является наилучшей практикой: я думаю, что файлы conf не должны быть упакованы внутри <app> jar (может быть, какое-то выражение в build.sbt, чтобы не допустить их?), но доступны в zip-файле дистрибутива. Таким образом, после распаковки и развертывания файлы conf могут быть изменены по мере необходимости.

resourceDirectory, кажется, указывает на baseDirectory/'conf/', этот ли ключ следует явно исключить из задачи packageBin?


person Dario    schedule 31.08.2015    source источник


Ответы (1)


Вы можете добавить свой файл conf следующим образом:

  1. Перейдите в папку сборки приложения.
  2. Введите следующую команду —

    java -Dapplication.secret="mySecretKey" -Dconfig.resource=conf/application.conf -cp "lib/*;" play.core.server.NettyServer .

person Rakesh Chouhan    schedule 02.09.2015
comment
Что вы имеете в виду под app build folder? target/universal? На самом деле я ищу настройку build.sbt, например, исключение папки conf для упаковки в файл jar <app> или что-то в этом роде. - person Dario; 02.09.2015
comment
В своем вопросе вы сказали, что файл upzinpped/conf полностью игнорируется, поэтому с помощью этой команды вы можете использовать разархивированный файл conf вместо файла jar conf. - person Rakesh Chouhan; 03.09.2015
comment
Извините, забыл упомянуть, что я работал в Linux, и я не вижу разделителя windows cp в вашей команде. - person Dario; 07.09.2015