HOCON中的ENV VAR包括声明

时间:2016-01-06 22:52:13

标签: typesafe-config

我想做以下

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处的文档并没有说包含的参数必须是一个字符串,但我想我记得在过去的某个地方读过它。

所以...任何解决方法?如果没有,有人至少可以解释为什么这个限制在这里?某种安全漏洞?这是我能想到省略这种有用功能的唯一原因。

感谢。

2 个答案:

答案 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