настройка конфигурации ключа akka не найдена

Я использую scala, spray и akka для одного из моих проектов. В Intellij, он работает нормально. Когда я создаю проект и пытаюсь запустить его в командной строке, я получаю следующую ошибку.


Caused by: com.typesafe.config.ConfigException$Missing: No configuration setting
 found for key 'akka'
        at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:124)
        at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:147)
        at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:159)
        at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:164)
        at com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:206)
        at akka.actor.ActorSystem$Settings.(ActorSystem.scala:168)
        at akka.actor.ActorSystemImpl.(ActorSystem.scala:504)
        at akka.actor.ActorSystem$.apply(ActorSystem.scala:141)
        at akka.actor.ActorSystem$.apply(ActorSystem.scala:108)
        at akka.actor.ActorSystem$.apply(ActorSystem.scala:99)

пожалуйста, помогите мне в решении проблемы

2 ответов


проблема заключается в том, что при использовании sbt:assembly стратегия слияния по умолчанию исключает все ссылки.conf файлы согласно

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

решение заключается в добавлении MergeStrategy следующим образом

assemblyMergeStrategy in assembly := {
  case PathList("reference.conf") => MergeStrategy.concat
}

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

  1. приложение.conf под корнем classpath (в том числе в jar)
  2. вручную передается в конфигурации из ActorSystem ("имя", config).
  3. ссылка.conf под корнем classpath (в том числе в jar)

пожалуйста, дважды проверьте свой classpath и посмотрите, есть ли у вас плохая ссылка classpath, которая указывает на плохой корень classpath для банок akka, спрей кувшины и т. д.