运行参数设置 VM options与Program arguments

Configuration可以添加的参数主要就是以下三类

添加的参数优先级

Program arguments > VM options > Environment variable > 系统默认值

 1、Program arguments

Program arguments是传入main方法的字符串数组args[]

// Program arguments有两种类型,一种是以--key=value的形式;一种是直接写value
// 参数之间空格分隔
--mode=debug test

添加方法

获取方法

2、VM options

VM options其实就是我们在程序中需要的运行时环境变量,它需要以-D或-X或-XX开头,每个参数使用空格分隔

使用最多的就是-Dkey=value设定系统属性值,比如-Dspring.profiles.active=dev

添加方法

// -D开头 + 参数名 = 参数值
// = 两侧没有空格
// 不同参数之间空格分隔
// 如下所示我们增加两个参数 Env 和 Name
-DEnv=prod -DName=admin

获取方法

// System.getProperty("参数名")
System.getProperty("Env");
System.getProperty("Name");

3、Environment variables

Environment variables没有前缀

添加方法

// 参数名=参数值
// 多个参数之间使用分号分隔(注意这里不是用空格分隔)
password=123456;name=admin

获取方法

// System.getenv("参数名")
System.getenv("password");
System.getenv("name");

参数说明:

一、VM options

VM options其实就是我们在程序中需要的运行时环境变量,它需要以-D或-X或-XX开头,每个参数使用空格分隔

使用最多的就是-Dkey=value设定系统属性值,比如-Dspring.profiles.active=dev3

二、Program arguments

Program arguments为我们传入main方法的字符串数组args[],它通常以--开头,如--spring.profiles.active=dev3

等价于-Dspring.profiles.active=dev3如果同时存在,以Program arguments配置优先

三、Environment variables

Environment variables没有前缀,优先级低于VM options,即如果VM options有一个变量和Environment variable中的变量的key相同,则以VM options中为准。

猜你喜欢

转载自blog.csdn.net/qq_16504067/article/details/129985489