在 Scala 应用程序中提供外部配置文件
provide external config files in scala application
在 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.prod
和 logback.xml.prod
,以覆盖 com.foo.jar
文件
中的 application.conf
和 logback.xml
文件
我正在使用以下版本(复制 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"
有办法吗?
谢谢
我认为您可以通过在 运行 您的 jvm 应用程序时传递参数来做到这一点。
对于 application.conf
你可以使用 -Dconfig.file=/your/path/application.conf
对于 LogBack
你可以使用 -Dlogback.configurationFile="/your/path/logback.xml"
在 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.prod
和 logback.xml.prod
,以覆盖 com.foo.jar
文件
application.conf
和 logback.xml
文件
我正在使用以下版本(复制 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"
有办法吗?
谢谢
我认为您可以通过在 运行 您的 jvm 应用程序时传递参数来做到这一点。
对于
application.conf
你可以使用-Dconfig.file=/your/path/application.conf
对于
LogBack
你可以使用-Dlogback.configurationFile="/your/path/logback.xml"