【发布时间】:2015-09-10 00:12:59
【问题描述】:
我需要根据 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= 行)
当在 url 字符串周围使用 " 时,${host} 变量不再被替换,播放应用程序将抛出 HostNotFoundException。
是否有人建议如何在类型安全配置中使用的 JDBC url 中包含 ENV 变量?
【问题讨论】:
标签: sbt sbt-native-packager typesafe-stack typesafe-config