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和--内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
IDEA 单元测试报错:Class not found:xxxx springb
这篇文章主要介绍了IDEA 单元测试报错:Class not found:xxxx springboot的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
IntelliJ IDEA 2022.2最新版本激活教程(亲测可用版)永久激活工具分享
Jetbrains官方发布了 IntelliJ IDEA2022.2 正式版,每次大的版本更新,都会有较大的调整和优化,除本次更新全面拥抱 Java 17 外,还有对IDE UI界面,安全性,便捷性等都做了调整和优化完善,用户体验提升不少,相信后面会有不少小伙伴跟着更新2022-08-08


最新评论