在scala应用程序中提供外部配置文件

时间:2016-09-19 18:51:24

标签: scala intellij-idea configuration akka typesafe

在IntelliJ中,我使用“dist”导出了一个scala / akka项目。 以

下的zip文件结尾
foo\target\universal\foo-1.0.0.zip

当我解压缩文件时,我得到以下目录结构:

D:.
├───bin
│       foo
│       foo.bat
│
└───lib
        a.jar
        b.jar
        com.foo.jar
        ...
        x.jar

在命令行中,我正在尝试运行foo.bat,但我想提供外部配置文件。

我想使用例如application.conf.prodlogback.xml.prod覆盖application.conf文件中的logback.xmlcom.foo.jar个文件

我正在使用以下版本(复制build.sbt的一部分):

version := "1.0.0"
scalaVersion := "2.11.8"

"com.typesafe.akka" %% "akka-actor" % "2.4.9"
"com.typesafe.akka" %% "akka-slf4j" % "2.4.9"
"ch.qos.logback" % "logback-classic" % "1.1.6"
"org.apache.kafka" % "kafka-clients" % "0.10.0.0"

有办法吗?

由于

1 个答案:

答案 0 :(得分:2)

我认为您可以通过在运行jvm应用程序时传递参数来完成此操作。

  • 对于application.conf,您可以使用-Dconfig.file=/your/path/application.conf

  • 对于LogBack,您可以使用-Dlogback.configurationFile="/your/path/logback.xml"