Spring Boot应用配置8090端口却启动在8080端口求助
排查Spring Boot端口配置不生效问题
最可能的原因:配置层级错误
你的application.yml中把server节点嵌套在了spring节点下,这是错误写法。Spring Boot中server.port是顶级配置项,不属于spring的子节点。
错误配置(当前写法):
spring: application: name: reactive-user server: port: 8090 # 其他spring相关配置...
正确配置:
spring: application: name: reactive-user h2: console: enabled: true path: /h2-console main: allow-bean-definition-overriding: true r2dbc: url: r2dbc:h2:mem:///myusers username: sa password: password sql: init: platform: h2 mode: always # server是顶级节点,与spring同级 server: port: 8090
其他排查方向
如果修正层级后仍不生效,检查以下几点:
- 配置文件位置与命名:确认文件在
src/main/resources目录下,文件名是application.yaml或application.yml(两者均合法,注意拼写无错误) - 启动参数/环境变量覆盖:检查启动时是否传入命令行参数(如
java -jar app.jar --server.port=8080),或者系统环境变量SERVER_PORT/SPRING_SERVER_PORT是否被设置为8080 - 构建脚本配置:查看
pom.xml(Maven)或build.gradle(Gradle)中是否硬编码了server.port属性 - Profile激活情况:检查是否通过
spring.profiles.active激活了其他配置逻辑,即使只有一个配置文件,也要确认无额外Profile配置影响
内容的提问来源于stack exchange,提问作者Ousmane MBINTE
相关产品推荐
相关产品推荐

