我想做以下
include file(${HOME}/.oat/db_local_dev.conf)
不幸的是,它会出现以下错误:
Caused by: com.typesafe.config.ConfigException$Parse: /Users/XXXX/src/oat3/conf/shared.local.conf: 16: expecting a quoted string inside file(), classpath(), or url(), rather than: '${'HOME'}'
https://github.com/typesafehub/config处的文档并没有说包含的参数必须是一个字符串,但我想我记得在过去的某个地方读过它。
所以...任何解决方法?如果没有,有人至少可以解释为什么这个限制在这里?某种安全漏洞?这是我能想到省略这种有用功能的唯一原因。
感谢。
答案 0 :(得分:0)
工作语法为
include "file://${HOME}/.oat/db_local_dev.conf"
使用显式UR来引用配置文件。
答案 1 :(得分:0)
您不能动态包含其他属性文件。
include语句由未加引号的字符串include组成,其后跟随 按空格,然后选择一个:
- 一个单引号的字符串,该字符串被启发式解释为URL, 文件名或类路径资源。
包含引号的字符串的- url(),file()或classpath(),然后将其解释为URL,文件或类路径。与CSS不同,该字符串必须带引号。
- required()围绕上述其中一个
请参阅官方文档:https://github.com/lightbend/config/blob/master/HOCON.md#includes
另请参阅(功能请求:动态包含#122 ):https://github.com/lightbend/config/issues/122