无法在Spring Boot Console应用程序的命令行中传递json格式键/值

时间:2019-02-26 07:22:53

标签: spring-boot

application.yml

username:  
password:  

失败
1.java -Dspring.application.json ='{“用户名”:“ XXXX”,“密码”:“ XXXX”}'-jar job-display-0.0.1.jar

2.java -jar job-display-0.0.1.jar --spring.application.json ='{“用户名”:“ XXXX”,“密码”:“ XXXX”}'

以上格式无效。为什么?我还应该在项目中添加什么?
Official Docs.

  

可以在命令中提供SPRING_APPLICATION_JSON属性   符合环境变量。例如,您可以使用   UN * X shell中的以下行:

     

$ SPRING_APPLICATION_JSON ='{“ acme”:{“ name”:“ test”}}''java -jar   myapp.jar在前面的示例中,您最终使用acme.name = test   春天的环境。您还可以提供JSON作为   System属性中的spring.application.json,如   以下示例:

     

$ java -Dspring.application.json ='{“ name”:“ test”}'-jar myapp.jar您   也可以使用命令行参数来提供JSON,如   以下示例:

     

$ java -jar myapp.jar --spring.application.json ='{“ name”:“ test”}'   也可以将JSON作为JNDI变量提供,如下所示:   java:comp / env / spring.application.json。

成功
1.java -jar job-display-0.0.1.jar --username = XXXX --password = XXXX

2.IntelliJ IDEA Environment Variables
SPRING_APPLICATION_JSON {“用户名”:“ XXXX”,“密码”:“ XXXX”}

3.java -Dusername = XXXX -Dpassword = XXXX -jar job-display-0.0.1.jar

2 个答案:

答案 0 :(得分:0)

您是否尝试过文档中显示的第一种形式...实际上设置了env var?文档似乎暗示您正在做的事情应该起作用。

答案 1 :(得分:0)

使用-Dspring.application.json

java -Dspring.application.json="{\"username\":\"XXXX\",\"password\":\"XXXX\"}" -jar job-display-0.0.1.jar

使用--spring.application.json

java -jar job-display-0.0.1.jar --spring.application.json="{\"username\":\"XXXX\",\"password\":\"XXXX\"}"

在Windows中使用SPRING_APPLICATION_JSON

>set SPRING_APPLICATION_JSON={"username":"XXXX","password":"XXXX"}
>java -jar job-display-0.0.1.jar

在LINUX中使用SPRING_APPLICATION_JSON

>export SPRING_APPLICATION_JSON={"username":"XXXX","password":"XXXX"}
>java -jar job-display-0.0.1.jar