Typesafe Application и эталонные файлы конфигурации не объединяются при сборке Fat JAR

У меня есть приложение sbt, которое запускается при запуске через intellij или через терминал с помощью sbt run. Однако, когда я создаю толстую банку, чтобы иметь возможность развернуть ее на сервере, я получаю всевозможные ошибки com.typesafe.config.ConfigException$UnresolvedSubstitution. Они не определены пользователем в моей конфигурации приложения, все они определены в нескольких файлах конфигурации akka.

Я попытался объединить их, используя следующее:

val config = ConfigFactory.load(getClass().getClassLoader())
private lazy val userConfig = ConfigFactory.parseResources("application.conf")
val config = userConfig.resolve()
mergeStrategy in assembly := {
  case PathList("reference.conf") => MergeStrategy.concat
  case "reference.conf" => MergeStrategy.concat
  case "application.conf" => MergeStrategy.concat
  case x if x.contains("akka\\http\\") => MergeStrategy.concat
  case x if x.contains("akka/http/") => MergeStrategy.concat

Я также пытался жестко закодировать любое значение, на которое он жалуется, в моем application.conf, но он просто жалуется на другую переменную, которую не может разрешить.


person Kooky_Lukey    schedule 14.11.2019    source источник
comment
Не могли бы вы поделиться кодом?   -  person Francisco López-Sancho    schedule 19.11.2019


Ответы (1)


Оказывается, если бы я построил толстую банку, используя sbt assembly вместо способа IntelliJ, тогда это сработало.

person Kooky_Lukey    schedule 19.11.2019