ich in ein ähnliches Problem lief beim Verpacken einer Akka Anwendung als weit JAR mit allen Abhängigkeiten zusammengefügt, mit dem Maven Assembly Plugin anstelle von SBT.
Das zugrunde liegende Problem liegt daran, dass beim Packen einer fetten JAR Dateien, die sich im selben Pfad befinden (z. B. /reference.conf
), standardmäßig vom Buildsystem überschrieben werden. Wenn Sie also mehrere Akka-Module verwenden, überschreibt eine reference.conf
alle anderen. Daher erhalten Sie in Ihrer JAR-Datei eine einzige, teilweise reference.conf
statt mehrere reference.conf
, die dann von der Konfigurationsbibliothek beim Laden zusammengeführt werden .
Dies führt zu den Fehlern bei der Konfiguration, die nicht gefunden wurden, da die Standardkonfigurationseinstellungen für einige Module (wie in ihrer reference.conf
gefunden, die überschrieben wurde) fehlen.
@ArunavaS Antwort funktioniert für SBT, da es die reference.conf
Dateien zusammenführt. Wenn Maven verwendet wird, ist es möglich, etwas Ähnliches zu konfigurieren (siehe z. B. How can I merge resource files in a Maven assembly?).
Alternativ können Sie, anstatt eine fette JAR zu verwenden, alle Abhängigkeiten in einen separaten Ordner exportieren und sie dann beim Ausführen der JAR-Datei zum Klassenpfad hinzufügen.
Bitte lassen Sie mich wissen, wenn Sie weitere Details benötigen ... – ArunavaS
Scheint wie application.conf Datei in Ihrem Glas fehlt. Könnten Sie den Jar-Inhalt auflisten? Sie können 'jar tf your.jar' dafür verwenden. –
Sieht so aus, als ob du akka-remote (mit Arterie) verwendest => http://doc.akka.io/docs/akka/current/scala/remoting-artery.html – mfirry