Java中命令行參數(shù)--與-D的區(qū)別
一、java -D
java -Dmy.name=張三這種方式添加的參數(shù)是jvm的一些屬性。此種方式添加的參數(shù)可以通過如下方式獲?。?/p>
System.getProperties("my.name")二、java –
java --my.address=北京東城區(qū)這種方式添加的參數(shù)是操作系統(tǒng)的環(huán)境變量??梢酝ㄟ^如下方式獲取
System.getEnv("my.address");我們要想了解這兩者之間的差異,首先來看一個(gè)案例:
# 以應(yīng)用參數(shù)的方式 java -jar my.jar --server.port=7788 # 或以 JDK 參數(shù)的方式 java -Dserver.port=7788 -jar my.jar
這兩個(gè)命令都可以用來設(shè)置Spring Boot應(yīng)用程序的端口號為7788,其中:
- 第一個(gè)命令使用 --server.port 選項(xiàng)來設(shè)置應(yīng)用程序的端口號
- 第二個(gè)命令使用 -Dserver.port 選項(xiàng)來設(shè)置系統(tǒng)屬性
這兩種方式都可以實(shí)現(xiàn)相同的目標(biāo),但差別如下:
- 使用 --server.port 選項(xiàng)可以直接將端口號作為應(yīng)用程序的選項(xiàng)傳遞,而使用 -Dserver.port 需要將端口號作為系統(tǒng)屬性傳遞。
- -server.port 選項(xiàng)僅適用于 Spring Boot 應(yīng)用程序,而 -Dserver.port 選項(xiàng)適用于任何Java應(yīng)用程序。
- –server.port 選項(xiàng)應(yīng)該在 java -jar 命令之后使用,而 -Dserver.port 選項(xiàng)應(yīng)該在 -jar 命令前使用。
在實(shí)踐中,-D 用于設(shè)置系統(tǒng)屬性,而 – 用于設(shè)置應(yīng)用程序選項(xiàng)或參數(shù)。大多數(shù)情況下建議使用 --server.port 選項(xiàng)來設(shè)置 Spring Boot 應(yīng)用程序的端口號,因?yàn)樗奖愫椭庇^,而且只適用于應(yīng)用程序本身,避免了可能會(huì)影響其他 Java 應(yīng)用程序的系統(tǒng)屬性沖突。
三、在springboot中的應(yīng)用
springboot項(xiàng)目,啟動(dòng)時(shí),通過-D或者 --添加參數(shù),可以直接覆蓋yml配置文件中的同名配置,如果yml中沒有,那么相當(dāng)于添加一個(gè)配置。
添加的參數(shù)名字為spring.application.name和SPRING_APPLICATION_NAME是一樣的
在docker中,docker run -e "server.port"用-e操作指定的參數(shù),將成為容器的環(huán)境變量,從而就指定了容器啟動(dòng)的端口號。
到此這篇關(guān)于Java中命令行參數(shù)--與-D的區(qū)別的文章就介紹到這了,更多相關(guān)Java 命令行參數(shù)--與-D內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決MultipartFile.transferTo(dest) 報(bào)FileNotFoundExcep的問題
這篇文章主要介紹了解決MultipartFile.transferTo(dest) 報(bào)FileNotFoundExcep的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java的三種隨機(jī)數(shù)生成方式的實(shí)現(xiàn)方法
這篇文章主要介紹了java的三種隨機(jī)數(shù)生成方式的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
springboot整合mybatis分頁攔截器的問題小結(jié)
springboot整合mybatis分頁攔截器,分頁攔截實(shí)際上就是獲取sql后將sql拼接limit,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07
Java基本數(shù)據(jù)類型存儲在JVM中的存儲位置介紹
這篇文章主要介紹了Java基本數(shù)據(jù)類型存儲在JVM中的存儲位置,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
使用Java實(shí)現(xiàn)6種常見負(fù)載均衡算法
Java負(fù)載均衡算法也是分布式系統(tǒng)中的重要組成部分,用于將來自客戶端的請求分配到不同的后端服務(wù)器上,本文將介紹常見的Java負(fù)載均衡算法,輪詢法、加權(quán)隨機(jī)法……一次性讓你了解?6?種常見負(fù)載均衡算法2023-06-06

