news 2026/4/23 12:30:52

application.yaml的spring.profiles.active的配置端口号不起作用问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
application.yaml的spring.profiles.active的配置端口号不起作用问题

背景:

SpringBoot WEB启动时,排除内置tomcat,将tomcat外置,外置的tomcat总的conf目录下的server.xml,配置了connector的port为10080。然后本地application.yaml激活了application-prod.yaml配置文件,该配置文件中又指定了端口号为20080,启动tomcat后,浏览器只有10080端口可以正常访问,20080无法访问。

原因:

端口号配置有优先级,高优先级会覆盖低优先级的配置。

解决方法:

在tomcat总的conf目录下的server.xml文件中修改端口号为正确的端口号。

详解:

Tomcat 端口号配置覆盖优先级(从高→低)

✅ 核心规则:后加载的配置会覆盖先加载的、更细粒度的配置会覆盖全局配置,优先级高的配置生效,低优先级的被忽略。

一、主流 Tomcat 8/9/10/10.1 优先级排序(最常用)

  1. 启动脚本/命令行参数(最高优先级)
    -Dcatalina.http.port=8081 -Dcatalina.https.port=8444,直接在启动命令/JVM参数中指定,完全覆盖所有配置文件。

  2. 标签硬编码(server.xml 核心配置)
    conf/server.xml 中 直接写死的端口号,是日常最常用的配置方式,优先级仅次于命令行。

  3. 环境变量
    系统级/用户级环境变量 CATALINA_OPTS/JAVA_OPTS 中配置的端口参数,会覆盖 server.xml 以外的配置。

  4. Tomcat 全局属性配置

◦ conf/catalina.properties 中定义的端口属性(如 port.http=8080);

◦ conf/context.xml 全局上下文配置,仅对端口兜底生效。

  1. Web 应用局部配置(最低优先级)
    项目自身 WEB-INF/web.xml/META-INF/context.xml 中的端口相关配置,无法覆盖 Tomcat 全局端口,仅作用于应用内部映射。

二、特殊补充(易踩坑)

✅ 1. 多 Connector 冲突处理

若 server.xml 中配置多个同协议的 ,Tomcat 会启动失败并抛出端口占用异常,无优先级可言,需保证同协议端口唯一。

✅ 2. 嵌入式 Tomcat 优先级(SpringBoot 常用)

嵌入式场景优先级完全不同,排序为:
启动类代码硬编码 > 项目 application.yml/application.properties > 命令行参数 > Tomcat 内置配置文件

✅ 3. 端口默认值兜底

当所有配置均未指定端口时,Tomcat 触发默认兜底值:

• HTTP 端口:8080

• HTTPS 端口:8443

• Shutdown 端口:8005

• AJP 端口:8009

✅ 4. 关键提醒

• 所有端口配置修改后,必须重启 Tomcat 才能生效;

• 优先级仅针对「同类型端口」生效(如 HTTP 端口之间覆盖,HTTPS 端口之间覆盖),不同协议端口互不影响。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 21:25:22

Proteus8.16下载安装教程:快速理解安装中的关键步骤

Proteus 8.16安装全解析:从零部署仿真环境的实战指南 你有没有遇到过这样的场景? 刚下载完Proteus 8.16,满怀期待地双击安装包,结果一路“下一步”走下来,最后点开ISIS却弹出“License failed”或直接闪退&#xff1…

作者头像 李华
网站建设 2026/4/20 15:58:12

语音合成中的韵律建模:GPT-SoVITS如何还原自然语调起伏

语音合成中的韵律建模:GPT-SoVITS如何还原自然语调起伏 在智能语音助手越来越“能说会道”的今天,我们是否还曾留意过那些机械生硬的电子音?从早期导航系统里冷冰冰的播报,到如今虚拟偶像用富有情感的声音演唱歌曲,文本…

作者头像 李华
网站建设 2026/4/19 0:38:42

Keil5创建嵌入式应用工程完整示例

手把手教你用Keil5从零搭建一个嵌入式工程:不只是“点下一步”你有没有过这样的经历?打开Keil Vision5,想新建一个项目,却卡在了“选芯片”这一步——STM32F407VGT6、ZGT6、ZE……到底该选哪个?或者好不容易建好了工程…

作者头像 李华
网站建设 2026/4/17 14:26:01

如何:处理时间序列的缺失数据

原文:towardsdatascience.com/how-to-handle-missing-data-for-time-series-680810f648ed 如何:处理时间序列的缺失数据 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d30ad994a36a0c060c199b5a946fb618.png 图…

作者头像 李华
网站建设 2026/4/18 17:30:21

keil编译器下载v5.06在电机控制中的应用实战案例

为什么这台“老”编译器,依然是电机控制项目的首选?你有没有遇到过这样的情况:新项目刚上手,团队兴冲冲地用上了最新的 Keil MDK v5.37,结果调试时发现 FOC 控制环偶尔抖动、ADC 采样不同步、甚至烧录后程序跑飞&#…

作者头像 李华
网站建设 2026/4/16 7:06:06

语音情感迁移可能吗?GPT-SoVITS在情绪表达上的探索进展

语音情感迁移可能吗?GPT-SoVITS在情绪表达上的探索进展 在虚拟主播深夜直播、AI伴侣轻声安慰用户、游戏角色因剧情转折而哽咽落泪的今天,我们对“声音”的期待早已超越了清晰发音和准确语义。人们渴望听到有温度的声音——能笑、会哭、带点犹豫或坚定语气…

作者头像 李华