настройка конфигурации ключа 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 будет читать файл конфигурации из следующего местоположения по умолчанию:
- приложение.conf под корнем classpath (в том числе в jar)
- вручную передается в конфигурации из ActorSystem ("имя", config).
- ссылка.conf под корнем classpath (в том числе в jar)
пожалуйста, дважды проверьте свой classpath и посмотрите, есть ли у вас плохая ссылка classpath, которая указывает на плохой корень classpath для банок akka, спрей кувшины и т. д.