在播放框架中传递参数时出错
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 为我指明了正确的方向。
我有一个播放框架,其中一个配置文件指向 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 为我指明了正确的方向。