我有一个播放框架,其中一个配置文件指向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_ADDR"
在shell中运行时,它运行正常。
Q2)我该如何解决这个问题?
答案 0 :(得分:2)
您需要将环境变量包装在括号中,以便配置库引用它。
redis.host=${IP_ADDR}
答案 1 :(得分:0)
您访问环境变量的语法错误,而不应该
redis.host=${?IP_ADDR}
此处,如果redis.host=${?IP_ADDR}
没有值,则覆盖字段IP_ADDR
会消失,但如果您设置环境变量IP_ADDR
,则会使用它。
感谢@Ryan指出我正确的方向。