最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IntelliJ IDEA啟動(dòng)項(xiàng)目時(shí)配置端口的操作指南

 更新時(shí)間:2025年09月12日 08:56:47   作者:李少兄  
默認(rèn)情況下,Spring Boot 應(yīng)用會(huì)使用 8080 端口啟動(dòng),但在有些場(chǎng)景中,我們必須自定義端口,所以本文給大家詳細(xì)介紹了IntelliJ IDEA啟動(dòng)項(xiàng)目時(shí)配置端口的詳細(xì)指南,需要的朋友可以參考下

一、為什么需要手動(dòng)設(shè)置啟動(dòng)端口?

默認(rèn)情況下,Spring Boot 應(yīng)用會(huì)使用 8080 端口啟動(dòng)。但在以下場(chǎng)景中,我們必須自定義端口:

  • 多個(gè)微服務(wù)同時(shí)運(yùn)行,需避免端口沖突;
  • 團(tuán)隊(duì)協(xié)作開發(fā),統(tǒng)一規(guī)范不同服務(wù)的端口號(hào);
  • 測(cè)試負(fù)載均衡或集群部署;
  • CI/CD 環(huán)境下動(dòng)態(tài)傳入端口;
  • 調(diào)試時(shí)快速切換配置而不修改源碼。

二、四種主流方式

方法一:通過(guò)配置文件設(shè)置端口(推薦用于常規(guī)開發(fā))

這是最基礎(chǔ)也是最常用的配置方式,適用于 Spring Boot 項(xiàng)目。

支持的配置文件類型

文件名格式說(shuō)明
application.properties鍵值對(duì)格式,簡(jiǎn)潔明了
application.yml層級(jí)結(jié)構(gòu)清晰,適合復(fù)雜配置

操作步驟

打開你的項(xiàng)目資源目錄:

src/main/resources/

編輯 application.properties 文件,添加如下內(nèi)容:

server.port=8081

或者編輯 application.yml 文件:

server:
  port: 8081

保存文件后直接運(yùn)行主類即可生效。

注意事項(xiàng)

  • 若未指定端口,默認(rèn)使用 8080。
  • 配置文件中的設(shè)置會(huì)被更高優(yōu)先級(jí)的方式覆蓋(見后文“優(yōu)先級(jí)”章節(jié))。
  • 推薦使用 .yml 格式以支持多 profile 配置(如 application-dev.yml, application-prod.yml)。

最佳實(shí)踐

# application.yml 示例:根據(jù)不同環(huán)境設(shè)置端口
spring:
  profiles:
    active: dev

---
spring:
  config:
    activate:
      on-profile: dev
server:
  port: 8081

---
spring:
  config:
    activate:
      on-profile: test
server:
  port: 9090

然后在運(yùn)行配置中添加程序參數(shù):--spring.profiles.active=test

方法二:通過(guò) VM Options 設(shè)置端口(適合臨時(shí)調(diào)試與多實(shí)例)

當(dāng)你要在同一臺(tái)機(jī)器上啟動(dòng)多個(gè)相同服務(wù)實(shí)例時(shí),VM Options 是最實(shí)用的方式。

關(guān)鍵點(diǎn):新版 IDEA 默認(rèn)隱藏部分高級(jí)選項(xiàng),必須手動(dòng)開啟!

完整操作流程(含界面細(xì)節(jié))

點(diǎn)擊右上角運(yùn)行配置下拉框 → 選擇 Edit Configurations…

在左側(cè)選擇你的運(yùn)行配置(通常是 Spring Boot 類型)

查找右側(cè)是否有 “VM options:” 輸入框:

  • 如果沒有,請(qǐng)點(diǎn)擊下方按鈕:Modify Options
  • 彈出菜單后勾選 Add VM options

此時(shí)會(huì)出現(xiàn)輸入框,在其中填寫:

-Dserver.port=8082

點(diǎn)擊 ApplyOK

啟動(dòng)項(xiàng)目,查看控制臺(tái)輸出確認(rèn)端口已變更:

Tomcat started on port(s): 8082 (http)

新版 IDEA 界面提示(文字版)

  • “Modify Options” 按鈕位于配置面板底部,圖標(biāo)為齒輪或三個(gè)點(diǎn)。
  • 勾選后,“VM options” 字段自動(dòng)出現(xiàn),支持 -Dkey=value 形式的 JVM 參數(shù)注入。

使用場(chǎng)景舉例

場(chǎng)景配置示例
第一個(gè)實(shí)例-Dserver.port=8081
第二個(gè)實(shí)例-Dserver.port=8082
第三個(gè)實(shí)例-Dserver.port=8083

可復(fù)制多個(gè)運(yùn)行配置,分別設(shè)置不同端口,實(shí)現(xiàn)一鍵并行啟動(dòng)。

方法三:通過(guò) Program Arguments 設(shè)置端口(命令行風(fēng)格)

與 VM Options 不同,這種方式是將參數(shù)傳遞給應(yīng)用程序本身,而非 JVM。

如何添加?

  1. 進(jìn)入 Run/Debug Configurations
  2. 點(diǎn)擊 Modify Options
  3. 勾選 Program arguments
  4. 輸入:
--server.port=8084

與 VM Options 的區(qū)別對(duì)比

維度VM Options (-D)Program Arguments (--)
作用對(duì)象JVM 系統(tǒng)屬性應(yīng)用程序參數(shù)
語(yǔ)法-Dkey=value--key=value
是否影響其他系統(tǒng)屬性
Spring Boot 是否識(shí)別? 是? 是
優(yōu)先級(jí)更高略低(但仍高于配置文件)

注:兩者均可被 Spring Boot 正確解析,但 -D 方式更底層,可用于非 Spring 項(xiàng)目。

方法四:通過(guò)環(huán)境變量設(shè)置端口(適合生產(chǎn)模擬與自動(dòng)化)

某些云平臺(tái)或容器化部署依賴環(huán)境變量來(lái)決定端口(如 Kubernetes、Docker)。

在 IDEA 中模擬環(huán)境變量

  1. 進(jìn)入 Run Configuration
  2. 點(diǎn)擊 Modify Options
  3. 勾選 Environment variables
  4. 添加鍵值對(duì):
    • Key: SERVER_PORT
    • Value: 8085

或者寫成一行:

SERVER_PORT=8085;JAVA_OPTS=-Xmx512m

提示:Spring Boot 自動(dòng)映射 SERVER_PORT 到 server.port

實(shí)際應(yīng)用場(chǎng)景

# Docker 啟動(dòng)時(shí)指定
docker run -e SERVER_PORT=8086 my-spring-app

在本地 IDEA 中提前測(cè)試該行為,可極大提升部署穩(wěn)定性。

三、四大方式優(yōu)先級(jí)

Spring Boot 對(duì)端口配置有明確的優(yōu)先級(jí)順序,了解這一點(diǎn)至關(guān)重要:

優(yōu)先級(jí)配置方式來(lái)源
1?? 最高命令行參數(shù)--server.port=9000
2??VM Options-Dserver.port=9000
3??環(huán)境變量SERVER_PORT=9000
4??配置文件application.yml / application.properties
5?? 最低默認(rèn)值內(nèi)嵌服務(wù)器默認(rèn)端口(Tomcat: 8080)

記憶口訣:“外 > 內(nèi),動(dòng) > 靜” —— 外部傳入 > 內(nèi)部寫死;動(dòng)態(tài)傳參 > 靜態(tài)配置

四、進(jìn)階:多實(shí)例并行啟動(dòng)(Compound Configuration)

當(dāng)你需要一次性啟動(dòng)多個(gè)不同端口的服務(wù)(例如訂單服務(wù) + 用戶服務(wù) + 網(wǎng)關(guān)),可以使用 Compound Configuration 功能。

操作步驟

  1. 打開 Edit Configurations
  2. 點(diǎn)擊左上角 + 號(hào) → 選擇 Compound
  3. 命名(如:Microservices Cluster
  4. Included configurations 中添加多個(gè)已有的運(yùn)行配置
  5. 每個(gè)子配置可獨(dú)立設(shè)置端口(通過(guò) VM Options)
  6. 點(diǎn)擊運(yùn)行按鈕,所有服務(wù)將按順序啟動(dòng)

優(yōu)勢(shì)

  • 一鍵啟動(dòng)整個(gè)微服務(wù)體系;
  • 支持跨模塊聯(lián)合調(diào)試;
  • 提升團(tuán)隊(duì)協(xié)作效率。

五、常見問(wèn)題與解決方案

Q1:?jiǎn)?dòng)時(shí)報(bào)錯(cuò) Address already in use: bind

說(shuō)明端口已被占用。

解決方案:

Windows:

netstat -ano | findstr :8081
taskkill /PID <進(jìn)程ID> /F

macOS/Linux:

lsof -i :8081
kill -9 <PID>

Q2:VM Options 選項(xiàng)找不到?

原因:新版 IDEA 默認(rèn)隱藏。

正確做法:

  • 必須先進(jìn)入 Modify Options
  • 主動(dòng)勾選 Add VM options

Q3:端口改了但沒生效?

檢查:

  1. 是否拼錯(cuò)關(guān)鍵字(應(yīng)為 server.port,不是 port.server
  2. 是否有多個(gè)配置文件沖突
  3. 是否使用了 Profile 激活了另一個(gè)配置
  4. 控制臺(tái)日志是否顯示最終使用的端口

六、各方法適用場(chǎng)景總結(jié)

方法適用階段是否推薦備注
配置文件日常開發(fā)? 強(qiáng)烈推薦易維護(hù),版本控制友好
VM Options調(diào)試/多實(shí)例? 推薦靈活,不污染代碼
Program Arguments命令行兼容? 推薦與腳本一致
環(huán)境變量生產(chǎn)模擬? 推薦符合 DevOps 實(shí)踐
Compound 配置微服務(wù)聯(lián)調(diào)? 強(qiáng)烈推薦提升開發(fā)效率

七、技術(shù)延伸

Spring Boot 使用 PropertySource 層次結(jié)構(gòu)加載配置,形成一個(gè)有序的“配置棧”。你可以通過(guò)以下代碼驗(yàn)證當(dāng)前生效的端口來(lái)源:

@RestController
public class PortInfoController {

    @Value("${server.port}")
    private int port;

    @Autowired
    private Environment env;

    @GetMapping("/port")
    public Map<String, Object> getPortInfo() {
        Map<String, Object> info = new HashMap<>();
        info.put("currentPort", port);
        info.put("propertySources", Arrays.toString(env.getPropertySources().stream()
            .map(EnumerablePropertySource::getName)
            .toArray()));
        return info;
    }
}

訪問(wèn) /port 接口即可看到哪些配置源參與了決策。

以上就是IntelliJ IDEA啟動(dòng)項(xiàng)目時(shí)配置端口的操作指南的詳細(xì)內(nèi)容,更多關(guān)于IDEA啟動(dòng)項(xiàng)目配置端口的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mybatis源碼分析之存儲(chǔ)過(guò)程調(diào)用和運(yùn)行流程

    Mybatis源碼分析之存儲(chǔ)過(guò)程調(diào)用和運(yùn)行流程

    這一篇我們學(xué)習(xí)一下Mybatis調(diào)用存儲(chǔ)過(guò)程的使用和運(yùn)行流程,首先我們創(chuàng)建一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程,具體創(chuàng)建過(guò)程大家可以通過(guò)本文學(xué)習(xí)下
    2016-11-11
  • SpringBoot和Vue接口如何調(diào)用傳參

    SpringBoot和Vue接口如何調(diào)用傳參

    本文總結(jié)了SpringBoot和Vue.js中接口調(diào)用的常見傳參方式,包括GET、POST請(qǐng)求的參數(shù)傳遞方式,以及SpringBoot中常用的注解進(jìn)行參數(shù)接收的方法,文章詳細(xì)介紹了Axios請(qǐng)求的封裝方法,并提供了一些實(shí)際的代碼示例
    2025-02-02
  • Java實(shí)現(xiàn)五子棋游戲(控制臺(tái)版)

    Java實(shí)現(xiàn)五子棋游戲(控制臺(tái)版)

    這篇文章主要為大家詳細(xì)介紹了Java控制臺(tái)版實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Spring Boot自定義注解從入門到實(shí)戰(zhàn)指南

    Spring Boot自定義注解從入門到實(shí)戰(zhàn)指南

    本文介紹了SpringBoot中自定義注解的設(shè)計(jì)、實(shí)現(xiàn)與應(yīng)用技巧,涵蓋了注解基礎(chǔ)、創(chuàng)建自定義注解、注解處理器實(shí)現(xiàn)方案、高級(jí)注解特性、性能優(yōu)化與最佳實(shí)踐、實(shí)戰(zhàn)案例、測(cè)試策略、常見問(wèn)題與解決方案以及總結(jié)與最佳實(shí)踐,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • SpringBoot實(shí)現(xiàn)簡(jiǎn)單文件上傳功能

    SpringBoot實(shí)現(xiàn)簡(jiǎn)單文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了SpringBoot實(shí)現(xiàn)簡(jiǎn)單文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Java單線程ThreadLocal串值問(wèn)題解決方案

    Java單線程ThreadLocal串值問(wèn)題解決方案

    這篇文章主要介紹了Java單線程ThreadLocal串值問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • springboot之聯(lián)表查詢方式

    springboot之聯(lián)表查詢方式

    這篇文章主要介紹了springboot之聯(lián)表查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java8新特性時(shí)間日期庫(kù)DateTime API及示例詳解

    Java8新特性時(shí)間日期庫(kù)DateTime API及示例詳解

    這篇文章主要介紹了Java8新特性時(shí)間日期庫(kù)DateTime API及示例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理

    Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理

    這篇文章主要介紹了Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 淺談一下Java中的ReentrantLock

    淺談一下Java中的ReentrantLock

    這篇文章主要介紹了淺談一下Java中的ReentrantLock,這個(gè)類是JUC工具包中對(duì)線程安全問(wèn)題提供的一種解決方案,它主要是用來(lái)給對(duì)象上鎖,保證同一時(shí)間這能有一個(gè)線程在訪問(wèn)當(dāng)前對(duì)象,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

呈贡县| 炎陵县| 托克逊县| 永川市| 法库县| 沈阳市| 三门县| 宜章县| 蓝山县| 邹城市| 长葛市| 蓬莱市| 松原市| 馆陶县| 若尔盖县| 天全县| 宜阳县| 荥阳市| 河池市| 深州市| 麟游县| 新乡市| 新竹市| 渑池县| 中宁县| 莱西市| 三亚市| 康保县| 遂溪县| 贵南县| 巢湖市| 兴文县| 阳东县| 台北县| 长治市| 南靖县| 新田县| 容城县| 辽阳县| 确山县| 九寨沟县|