将环境变量作为命令行参数传递给jar

时间:2020-09-16 10:06:26

标签: java spring-boot environment-variables

我正在运行一个jar,它从代码中的属性读取。现在,我想在环境级别设置一些变量,并将其作为命令行参数传递以覆盖属性。我该怎么办?

例如:

java -jar test.jar  --server.http.host-url=https://x.com

在以上命令中,将属性值server.http.host-url设置为名为“ server.http.host.value”的env变量。我如何将其作为变量传递,以便从这样的环境变量中解析

java -jar test.jar  --server.http.host-url=${server.http.host.value}

1 个答案:

答案 0 :(得分:3)

根据外壳程序的不同,您使用的环境变量名称可能会有不同的限制,但是在大多数情况下,不允许使用.,因此请使用类似SERVER_HTTP_HOST_VALUE的名称来命名变量,并像这样使用它:

java -jar test.jar --server.http.host-url=$SERVER_HTTP_HOST_VALUE