Sie können das Flag -D
verwenden, um bestimmte Eigenschaften in Ihren Konfigurationsdateien zu überschreiben. Dies ist seit Version 1.0.1 afaik verfügbar. Beispiel:
sbt run -D akka.cluster.seed-nodes=["akka.tcp://[email protected]:2552", "akka.tcp://[email protected]:2552"]
Dies würde ersetzen, was Wert application.conf
für gilt:
akka {
cluster {
seed-nodes = ["", "", /// etc]
}
}
Alternativ, wenn Sie die gesamte Konfiguration außer Kraft zu setzen, etwas zu tun wie folgt aus:
val runtimeMxBean = ManagementFactory.getRuntimeMXBean
val arguments = runtimeMxBean.getInputArguments.asScala.toList
val config = arguments.find(_.contains("config.path")) match {
case Some(value) => {
val opt = value.split("=")
if (Files.exists(opt.last)) {
ConfigFactory.load(opt.last)
} else {
ConfigFactory.load("application.conf")
}
case None => ConfigFactory.load("application.conf")
}
- Übergeben Sie den Dateipfad Führen Sie Ihre Konfigurationsdatei mit -D, wie
config.path=...
.
- Wenn Sie die Konfiguration laden, müssen Sie z. B. prüfen, ob ein Laufzeitargument vorhanden ist, das den Dateipfad angibt, prüfen, ob die Datei vorhanden ist, und diese Datei stattdessen laden.
Wenn Sie die Parameter bedeuten vorbei, bevor sb läuft t, das wäre 'sbt" run -Dconfig.resource = application.test.conf "'. Wenn du meinst während du in der sbt Konsole bist, müsste ich mehr graben. –