jde*_*lop 16 scala config typesafe
我需要在我的application.conf文件中引用java.io.tmpdir
我打印了我的配置内容
val c = ConfigFactory.load()
System.err.println(c.root().render())
Run Code Online (Sandbox Code Playgroud)
它呈现出来的样子
# dev/application.conf: 1
"myapp" : {
# dev/application.conf: 47
"db" : {
# dev/application.conf: 49
"driver" : "org.h2.Driver",
# dev/application.conf: 48
"url" : "jdbc:h2:file:${java.io.tmpdir}/db;DB_CLOSE_DELAY=-1"
}
...
}
# system properties
"java" : {
# system properties
"io" : {
# system properties
"tmpdir" : "/tmp"
},
....
Run Code Online (Sandbox Code Playgroud)
所以我想前向引用不起作用.有没有办法在系统属性后加载我的选项,所以config解析器会正确替换值?
Hav*_*c P 22
前向引用工作正常; 我相信问题只是你${}在引号内有语法,所以它没有特殊含义.试试这样:
url = "jdbc:h2:file:"${java.io.tmpdir}"/db;DB_CLOSE_DELAY=-1"
Run Code Online (Sandbox Code Playgroud)
(注意${}没有引用的东西)
在HOCON格式中,任何有效的JSON都将被解释为JSON中的所有内容,因此引用的字符串除了JSON支持的转义序列之外,其中没有特殊的语法.