Spring Boot java -jar 命令行传参

Spring Boot参数配置一般放在application.properties/yml,也就是默认参数,可以在启动的时候传参覆盖。

命令传参方式有三种风格

这种方式适合传递少量参数

tomcat端口配置为例:server.port=9000

环境变量

1
SERVER_PORT=9000 java -jar myapp.jar

系统变量

1
java -Dserver.port=9000 -jar myapp.jar

命令行参数

1
java -jar myapp.jar --server.port=9000

批量传参

有两种方式,命令的写法可以从上面三种选一种

指定配置文件覆盖

application-prod.ymlmyapp.jar在同一目录

1
2
java -jar myapp.jar --spring.profiles.active=prod 
--spring.config.location=application-prod.yml

spring.config.location 的值可以有多个,用逗号分隔

JSON数据传参

spring.application.json是一个特殊参数,它的值就是整个配置文件的json格式

1
2
3
4
5
java -jar myapp.jar --spring.application.json='{"server":{"port":9000}}'

or

SPRING_APPLICATION_JSON='{"server":{"port":9000}}' java -jar myapp.jar