java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java启动命令-D和--

java启动命令中-D和--的区别解析

作者:半山猿

在 SpringBoot 项目中,启动时,通过 -D 或 -- 添加参数,都可以直接覆盖 yml 或 properties 配置文件中的同名配置,如果不存在则相当于添加了一个配置,这篇文章主要介绍了java启动命令中-D和--的区别,需要的朋友可以参考下

java启动命令中-D和–的区别

在 SpringBoot 项目中,启动时,通过 -D-- 添加参数,都可以直接覆盖 ymlproperties 配置文件中的同名配置,如果不存在则相当于添加了一个配置。

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和--内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文