Typesafe配置:从打包的scala应用程序外部路径加载其他配置

RAb*_*ham 44 configuration app-config scala config typesafe-stack

我的scala应用程序将打包成jar.当我运行我的应用程序时,它需要读取存储在我的应用程序jar外部的其他配置文件.我正在寻找类似于Typesafe配置库的功能,但也欢迎其他解决方案!有办法做下面的事情:

val hdfsConfig = ConfigFactory.load("my_path/hdfs.conf")
Run Code Online (Sandbox Code Playgroud)

cmb*_*ter 67

我想你想要的是:

val myCfg =  ConfigFactory.parseFile(new File("my_path/hdfs.conf"))
Run Code Online (Sandbox Code Playgroud)

  • 这不包括config中的reference.conf; 规范的方法是将`parseFile`的结果夹在默认引用配置和默认覆盖之间,这看起来像`val fileConfig = parseFile(); val myConfig = ConfigFactory.load(fileConfig)`. (16认同)
  • @EduardoBezerra,即`java.io.File` (3认同)

小智 9

如果要从标准位置添加或覆盖配置参数,则可以执行以下操作:

val baseConfig = ConfigFactory.load()
val config = ConfigFactory.parseFile(yourFile).withFallback(baseConfig)
Run Code Online (Sandbox Code Playgroud)

这里yourFilejava.io.File 文档参考哪里


Sur*_*nti 5

val config = ConfigFactory.load("pathtoFile/FileName.propertes") 
Run Code Online (Sandbox Code Playgroud)

也有效。

  • 我相信只有当文件位于类路径上时才有效。 (9认同)