有两个配置文件beam.conf
和beam-template.conf
。这些配置文件的实现在BeamConfig.scala
中进行。在BeamConfig.scala
中传递配置的函数是:
def apply(c: com.typesafe.config.Config): BeamConfig = {
BeamConfig(
beam = BeamConfig.Beam(
if (c.hasPathOrNull("beam")) c.getConfig("beam")
else com.typesafe.config.ConfigFactory.parseString("beam{}")
),
matsim = BeamConfig.Matsim(
if (c.hasPathOrNull("matsim")) c.getConfig("matsim")
else com.typesafe.config.ConfigFactory.parseString("matsim{}")
)
)
}
所以我想加载beam-template.conf
作为默认配置。
我尝试执行此操作的方式如下:
def setConfParams(conf: TypesafeConfig): Unit = {
val defaultBeamConfig = BeamConfig(ConfigFactory.defaultReference())
println(defaultBeamConfig.beam.physsim.skipPhysSim)
}
但是它给了我这个错误
线程“ main”中的异常com.typesafe.config.ConfigException $ Missing:找不到密钥的配置设置
有什么方法可以通过在beam-template.conf
中传递beam-template
的实例来加载BeamConfig.scala.
注意:我需要传递beam-template.conf
实例而不是其路径。