java启动命令中-D和--的区别解析
作者:半山猿
在 SpringBoot 项目中,启动时,通过 -D 或 -- 添加参数,都可以直接覆盖 yml 或 properties 配置文件中的同名配置,如果不存在则相当于添加了一个配置,这篇文章主要介绍了java启动命令中-D和--的区别,需要的朋友可以参考下
java启动命令中-D和–的区别
在 SpringBoot 项目中,启动时,通过 -D
或 --
添加参数,都可以直接覆盖 yml
或 properties
配置文件中的同名配置,如果不存在则相当于添加了一个配置。
1.java -D 添加参数
注意: -D
要放到 -jar 前面,否则参数无效。
java -Dserver.port=1234 -jar test.jar
1.1支持的获取方式
System.getPorperties("server.port");
2.java –– 添加参数
这种方式添加的参数是操作系统的 环境变量
注意: --
要放到 jar 包后面,否则报错。
java -jar test.jar --server.port=1234
2.1支持的获取方式
System.getEnv("server.port");
3. -DXX VS --XXX 的优先级
结论:--xx 比
-Dxx`的优先级高
application.yml
server: port: 18080
使用-DXX 启动
java -Dserver.port=18081 -jar app.jar Tomcat started on port(s): 18081 (http) with context path ''
使用--XX 启动
java -jar app.jar --server.port=18082 Tomcat started on port(s): 18082 (http) with context path ''
同时使用-DXX Vs --XX 启动
java -Dserver.port=18081 -jar app.jar --server.port=18082 Tomcat started on port(s): 18082 (http) with context path ''
结论:--xx 比
-Dxx`的优先级高
优先级如下:
–长选项参数>-D系统参数>系统全局变量
到此这篇关于java启动命令中-D和--的区别的文章就介绍到这了,更多相关java启动命令-D和--内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!