Playframework 如何在Play框架中查找`conf/application.conf`中的变量?

Playframework 如何在Play框架中查找`conf/application.conf`中的变量?,playframework,Playframework,导言 根据需要,应该可以在conf/application.conf中查找环境变量 使用环境变量 您还可以从中引用环境变量 application.conf文件: my.key = defaultvalue my.key = ${?MY_KEY_ENV} 在这里,覆盖字段my.key=${?my_key_ENV}如果 MY_KEY_ENV没有值,但是如果设置环境 变量MY_KEY_ENV例如,将使用它 因为可以从其他变量中引用变量, 确保环境变量的名称与 字段名 例如: MY_TOKEN =

导言

根据需要,应该可以在
conf/application.conf
中查找环境变量

使用环境变量

您还可以从中引用环境变量 application.conf文件:

my.key = defaultvalue
my.key = ${?MY_KEY_ENV}
在这里,覆盖字段my.key=${?my_key_ENV}如果 MY_KEY_ENV没有值,但是如果设置环境 变量MY_KEY_ENV例如,将使用它

因为可以从其他变量中引用变量, 确保环境变量的名称与 字段名

例如:

MY_TOKEN = foo
MY_TOKEN = ${?MY_TOKEN} # Will reference the previous line, NOT your environmentally set variable
尝试

docker-compose.test.yml

conf/application.conf

问题

由于某些原因,无法查找变量:
${:名称或服务未知

sut_1  | [info] application - Creating Pool for datasource 'default'
sut_1  | [info] application - Creating Pool for datasource 'default'
sut_1  | [info] - should send 404 on a bad request *** FAILED ***
sut_1  | [info]   play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [default]]
sut_1  | [info]   at play.api.Configuration$.configError(Configuration.scala:154)
sut_1  | [info]   at play.api.Configuration.reportError(Configuration.scala:806)
sut_1  | [info]   at 
...
sut_1  | [info]   Cause: java.net.UnknownHostException: ${: Name or service not known
sut_1  | [info]   at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
sut_1  | [info]   at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
sut_1  | [info]   at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
sut_1  | [info]   at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
sut_1  | [info]   at java.net.InetAddress.getAllByName(InetAddress.java:1192)
sut_1  | [info]   at java.net.InetAddress.getAllByName(InetAddress.java:1126)
sut_1  | [info]   at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:190)
sut_1  | [info]   at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:297)
sut_1  | [info]   at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2232)
sut_1  | [info]   at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)
sut_1  | [info]   ...
sut_1 |[info]应用程序-为数据源“默认”创建池
sut_1 |[info]应用程序-为数据源“默认”创建池
sut_1|[info]-应在错误请求时发送404***失败***
sut_1 |[info]play.api.Configuration$$anon$1:配置错误[无法连接到数据库[默认]]
sut_1 |[info]at play.api.Configuration$.configError(Configuration.scala:154)
sut_1 |[info]at play.api.Configuration.reportError(Configuration.scala:806)
sut|U 1 |[信息]网址:
...
sut_1 |[info]原因:java.net.UnknownHostException:${:名称或服务未知
sut_1|[info]位于java.net.Inet6AddressImpl.lookupAllHostAddr(本机方法)
sut_1 |[info]位于java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
sut_1 |[info]位于java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
sut_1|[info]位于java.net.InetAddress.getAllByName0(InetAddress.java:1276)
sut_1|[info]位于java.net.InetAddress.getAllByName(InetAddress.java:1192)
sut_1|[info]位于java.net.InetAddress.getAllByName(InetAddress.java:1126)
sut_1 |[info]位于com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:190)
sut_1|[info]位于com.mysql.jdbc.MysqlIO.(MysqlIO.java:297)
sut_1 |[info]位于com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2232)
sut_1 |[info]位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)
sut|U 1 |[信息]。。。
问题


如何在Play Framework中查找
conf/application.conf
中的变量?

从字符串中排除变量:

db.default.url="jdbc:mysql://${?VAR_A}/app"
sut_1  | [info] application - Creating Pool for datasource 'default'
sut_1  | [info] application - Creating Pool for datasource 'default'
sut_1  | [info] - should send 404 on a bad request *** FAILED ***
sut_1  | [info]   play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [default]]
sut_1  | [info]   at play.api.Configuration$.configError(Configuration.scala:154)
sut_1  | [info]   at play.api.Configuration.reportError(Configuration.scala:806)
sut_1  | [info]   at 
...
sut_1  | [info]   Cause: java.net.UnknownHostException: ${: Name or service not known
sut_1  | [info]   at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
sut_1  | [info]   at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
sut_1  | [info]   at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
sut_1  | [info]   at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
sut_1  | [info]   at java.net.InetAddress.getAllByName(InetAddress.java:1192)
sut_1  | [info]   at java.net.InetAddress.getAllByName(InetAddress.java:1126)
sut_1  | [info]   at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:190)
sut_1  | [info]   at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:297)
sut_1  | [info]   at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2232)
sut_1  | [info]   at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265)
sut_1  | [info]   ...
db.default.url="jdbc:mysql://"${?VAR_A}"/app"