我需要基于 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' 值的一部分,请尝试将值括在双引号中,或者您可以重命名文件。属性而不是 .conf)
(其中 45 是 url= 行)
当在 url 字符串周围使用 " 时,${host} 变量不再被替换,播放应用程序将抛出 HostNotFoundException。
有没有人建议如何在类型安全配置中使用的 JDBC url 中包含 ENV 变量?