在播放框架中传递参数时出错

Error passing parameters in play framework

我有一个播放框架,其中一个配置文件指向 redis 配置。

redis.host="$IP_ADDR"

其中IP_ADDR=XXX.XXX.XX.XX(在环境变量中)

错误信息是

Caused by: java.net.UnknownHostException: $IP_ADDR

Q1)为什么它应该指向XXX.XXX.XX.XX却指向了$IP_ADDR?

当我在 shell 和 sh run.sh -Dredis.host="$IP_ADDR" 中 运行 时,它工作正常。

Q2)我该如何解决这个问题?

您需要将环境变量括在方括号中,以便配置库引用它。

redis.host=${IP_ADDR}

您访问环境变量的语法错误,您应该这样做

redis.host=${?IP_ADDR}

在这里,如果 IP_ADDR 没有值,覆盖字段 redis.host=${?IP_ADDR} 就会消失,但是如果您设置了一个环境变量 IP_ADDR,它将被使用。

感谢@Ryan 为我指明了正确的方向。

Play Docs