在使用 IDEA 运行 Java 程序时,可以添加以下三种参数:

  • VM options
  • Program arguments
  • Environment variables

当三种参数都设置同一变量时,优先级顺序:Program arguments > VM options > Environment variables

参数形式格式示例代码获取方式备注
VM options必须以 -D-X-XX 为前缀,每个参数用空格隔开-Dspring.profiles.active=prodSystem.getProperty()
Program arguments无前缀或以 --为前缀,每个参数用空格隔开spring.profiles.active=prod
--spring.profiles.active=prod
main(String[] args无前缀时不可被 SpringBoot 注入到配置中
Environment variables无前缀或以 -- 为前缀,每个参数用分号分割。spring.profiles.active=prod
--spring.profiles=prod

VM options

主要设置 JVM 相关参数。也可设置自己的参数,以 -D 为前缀,格式:-D键=值。例如:

shell
1
-Dspring.profiles.active=prod

通过以下方法可以获取到对应的键值:

java
1
System.getProperty();

Program arguments

主要是传入 main 方法的字符串数组 (args)。通常以 -- 为前缀,格式:--键=值。例如:

shell
1
--spring.profiles.active=prod

也可无前缀,但当无前缀时,无法被 Spring Boot 注入到配置文件中。

Environment variables

主要设置环境变量。也可设置自己的参数。传入方式与 Programming arguments 类似,以 -- 为前缀,也可无前缀。例如:

shell
1
spring.profiles.active=prod

有无前缀都可被 Spring Boot 注入到配置中。

通过 System.getenv() 可以获取对应的键值。