运行参数设置 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中为准。
还没有评论,来说两句吧...