typesafe配置无法使用变量解析url

时间:2014-10-16 07:41:07

标签: sbt sbt-native-packager typesafe-stack typesafe-config

我需要连接到基于ENV变量的PostgreSQL服务器。 ENV变量由Docker设置。我使用sbt-native-packager创建了我的akka​​ / play项目的docker容器。

所以我试着将变量添加到我的conf:

db{
  default {
    host=${POSTGRES_PORT_5432_TCP_ADDR}
    driver=org.postgresql.Driver
    url=jdbc:postgresql://${host}:5432/mail_archive
    user=username
    password=password
  }
}

遗憾的是,无法再解析配置文件:

  45:期待密切支撑}或逗号,得到了':' (如果你打算':'   要成为' url'的值的一部分,请尝试将值括在double中   引号,或者您可以重命名文件.properties而不是   的.conf)

(其中45是url = line)

使用"在url字符串周围,$ {host}变量不再被替换,播放应用程序将抛出HostNotFoundException。

是否有人建议如何将ENV变量包含在typesafe配置中使用的JDBC url中?

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

url="jdbc:postgresql://"${host}":5432/mail_archive"