[英]How reuse properties in typesafe config files?
考虑以下文件:
application.conf
app {
port = 5000
}
reference.conf
akka {
cluster {
seed-nodes = ["akka.tcp://sysName@localhost:"${app.port}]
}
}
因此,当我运行ConfigFactory.load()
它将失败,因为${app.port}
未出现在reference.conf中。
但是加载算法很明确reference.conf
已加载并与application.conf
合并。 有没有一种方法可以将application.conf
和“ include” reference.conf
加载到其中?
重要
我试过在application.conf
的第一行添加include "reference.conf"
并没有帮助。
您可以使用file("")
语法包含文件。
include file("reference.conf")
参见https://github.com/typesafehub/config/blob/master/HOCON.md#include-syntax
根据Typesafe Config 文档 :
这就意味着
reference.conf
堆栈必须是独立的。 您不能保留由application.conf
提供的未定义值${foo.bar}
,或者以您希望允许application.conf
覆盖的方式引用${foo.bar}
。 但是,application.conf
可以在reference.conf
中reference.conf
${foo.bar}
。
该文档还列出了一些可能的解决方法:
- 将
application.conf
与reference.conf
一起放在库jar中,其值供以后解决。- 在代码中添加一些逻辑,而不是在配置本身中建立值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.