java program arguments 与 vm arguments、Environment varilables

program arguments 

program arguments 是传递给我们的 main 程序的,使用 main 程序的 String[] args 来接收。

举例:
java -jar demo.jar --config.p1=v1 config.p2=v2 p3 p4
--config.p1=v1 config.p2=v2 p3 p4 这些用空格隔开的串,全部都会被 args 数组接收并存放

 

vm arguments

vm arguments 是传给 vm(虚拟机)的系统属性,大致可分为标准(-D)和非标准(-X、-XX)两种。
通常我们使用 -D 来设置 vm 的系统属性,比如:-Dfile.encoding=UTF-8,在程序中可以使用 System.getProperty(key) 来获取对应的值

举例:
java -DvmParam1=v1 -DvmParam2=v2
在程序中可以使用 System.getProperty("vmParam1") 来获取值

 https://blog.csdn.net/kimylrong/article/details/17339263

 

补充:
Environment variables:
OS(操作系统)的环境变量可能通过 System.getenv() 来获取

在 IDEA 中可以使用下面的方式来设置 vm arguments 和 program arguments、Environment variables

 

 

补充:

java -jar 来启动应用时,会覆盖 -classpath 参数的值
在启动 springboot 工程时,格外要注意,如果想 java -jar 来启动应用,又想添加额外的 classpath 参数的话,需要使用 -Xbootclasspath/a: 来指定。
参考:https://blog.csdn.net/sayyy/article/details/81120749

 

posted on 2020-08-03 21:02  快鸟  阅读(926)  评论(0编辑  收藏  举报