Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 主目录中的Typesafe配置文件_Scala_Home Directory_Typesafe Config - Fatal编程技术网

Scala 主目录中的Typesafe配置文件

Scala 主目录中的Typesafe配置文件,scala,home-directory,typesafe-config,Scala,Home Directory,Typesafe Config,根据我所读的内容,typesafe配置库从类路径或系统变量中读取。这对我来说效果不太好,因为在命令行上传递许多参数是不可行的,我不希望我们的devops团队不得不重建JAR来更改设置。他们也不太喜欢设置环境变量的负载 是否可以指定不在类路径上的外部文件,类似于Spring的工作方式 理想情况下,我会首先查看~/.ourapp.conf文件,然后查找环境变量,最后返回到application.conf和reference.conf。除了指定命令行参数:-Dconfig.file=之外,您还可以在命

根据我所读的内容,typesafe配置库从类路径或系统变量中读取。这对我来说效果不太好,因为在命令行上传递许多参数是不可行的,我不希望我们的devops团队不得不重建JAR来更改设置。他们也不太喜欢设置环境变量的负载

是否可以指定不在类路径上的外部文件,类似于Spring的工作方式


理想情况下,我会首先查看~/.ourapp.conf文件,然后查找环境变量,最后返回到application.conf和reference.conf。

除了指定命令行参数:
-Dconfig.file=
之外,您还可以在命令行上指定-Dconfig.file=~/.ourapp.conf,您可以在代码中这样做:

val defaults = ConfigFactory.load()
val file = new File("~/path/custom.config")
// I'm not sure what you mean with environment variables, 
// but you could read environment variables into a map and then use 
val env = ConfigFactory.parseMap(envMap)
val settings = ConfigFactory.parseFile(file).withFallBack(env).withFallBack(defaults)

很好,我要测试一下,看看它是否适用于其他基于类型安全配置的应用程序(我们正在构建spray/akka应用程序)谢谢,这正是我想要的