news 2026/4/13 18:16:49

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/3/27 4:34:10

语音节奏控制技巧:调整GPT-SoVITS输出语速与停顿的方法

语音节奏控制技巧:调整GPT-SoVITS输出语速与停顿的方法 在AI语音助手、有声书朗读和虚拟主播日益普及的今天,用户对合成语音“像不像人”“好不好懂”的要求越来越高。一个再逼真的音色,如果语速飞快、毫无喘息之机,听起来也像是…

作者头像 李华
网站建设 2026/4/10 23:02:05

多系统双系统下cubemx安装教程:初级用户参考方案

多系统开发环境下 STM32CubeMX 的正确打开方式:写给初学者的实战指南 你是不是也遇到过这种情况? 刚在 Windows 上用 CubeMX 配好一个项目,高高兴兴地保存了 .ioc 文件,结果重启进 Ubuntu 后打开却提示“配置异常”&#xff1…

作者头像 李华
网站建设 2026/4/12 19:44:14

GPT-SoVITS支持实时推理吗?延迟与吞吐量实测报告

GPT-SoVITS支持实时推理吗?延迟与吞吐量实测报告 在当前AI语音技术飞速发展的背景下,个性化语音合成正从实验室走向千行百业。无论是虚拟主播用“你的声音”讲故事,还是失语者通过几分钟录音重建自己的声线,背后都离不开少样本语音…

作者头像 李华
网站建设 2026/4/11 22:39:23

语音合成可懂度测试:GPT-SoVITS在噪声环境下的表现评估

语音合成可懂度测试:GPT-SoVITS在噪声环境下的表现评估 在智能语音助手、车载系统和远程教育日益普及的今天,用户不再满足于“能说话”的机器,而是期待一个听得清、辨得准、有温度的声音伙伴。然而,当这些语音系统走出实验室&…

作者头像 李华
网站建设 2026/4/13 5:47:23

Multisim示波器使用实战案例分享

Multisim示波器实战指南:从零开始掌握电路动态调试你有没有遇到过这种情况?辛辛苦苦搭好一个放大电路,仿真一跑,输出却不是预期的正弦波——要么削顶、要么振荡、要么干脆没信号。这时候,光看电压表读数已经无能为力了…

作者头像 李华
网站建设 2026/4/13 7:44:42

16、Drupal主题与测试全解析

Drupal主题与测试全解析 1. Drupal页面渲染流程 当Drupal渲染页面时,会经历一系列复杂但可预测的步骤,将结构转化为HTML。以下是典型页面渲染的详细过程: 1. 内容获取与数组构建 :Drupal的内容管理引擎从数据库获取所有内容,并根据当前条件(如用户权限、是否显示评论…

作者头像 李华