web-dev-qa-db-fra.com

aucun paramètre de configuration trouvé pour la clé akka

J'utilise scala, spray et akka pour l'un de mes projets. À Intellij, cela fonctionne bien. Lorsque je crée le projet et que j'essaie de l'exécuter en ligne de commande, j'obtiens l'erreur suivante.


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)

S'il vous plaît, aidez-moi à résoudre le problème

23
Rahul Dev

Le problème est lors de l'utilisation de sbt: Assembly, la stratégie de fusion par défaut exclut tous les fichiers reference.conf selon

Si plusieurs fichiers partagent le même chemin relatif (par exemple une ressource nommée application.conf dans plusieurs fichiers JAR de dépendance), la stratégie par défaut consiste à vérifier que tous les candidats ont le même contenu et à sortir autrement.

La solution consiste à ajouter une MergeStrategy comme suit

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

Akka lira le fichier de configuration à partir de l'emplacement suivant par défaut:

  1. application.conf sous la racine du chemin de classe (y compris dans le pot)
  2. passé manuellement dans la configuration d'ActorSystem ("nom", config).
  3. reference.conf sous la racine du chemin de classe (y compris dans le pot)

Veuillez vérifier votre chemin de classe et voir si vous avez une mauvaise référence de chemin de classe qui indique une mauvaise racine de chemin de classe pour les pots akka, les pots de pulvérisation, etc.

4
LynxZh