Playframework 在play框架中传递参数时出错

Playframework 在play框架中传递参数时出错,playframework,playframework-2.0,environment-variables,Playframework,Playframework 2.0,Environment Variables,我有一个play框架,其中一个配置文件指向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 当我使用sh run.sh-Dredis.host=“$IP\u ADDR”在shell中运行时,它工作正常 问题2)如何修复此问题?您需要将

我有一个play框架,其中一个配置文件指向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

当我使用
sh run.sh-Dredis.host=“$IP\u ADDR”
在shell中运行时,它工作正常


问题2)如何修复此问题?

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

redis.host=${IP_ADDR}

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

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

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


感谢您的澄清。您好,问题再次开始,现在需要${IP\U ADDR)。如果您不想在环境变量未定义的情况下覆盖以前的值,请使用任何其他方法解决此问题?