当前位置: 首页 > news >正文

Spring Boot 启动失败?10种常见报错及解决方案

Spring Boot 项目启动时报错,是每个Java开发者都会遇到的事。这篇文章整理了10种最常见的启动报错,附解决方案。

1. Failed to configure a DataSource

报错信息:

Failed to configure a DataSource: 'url' attribute is not specified

原因:项目中引入了数据库依赖,但没有配置数据源。

解决:

  • 如果不需要数据库,在启动类上排除自动配置:

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
  • 如果需要数据库,检查 application.yml 中的数据源配置是否正确。

2. Port was already in use

报错信息:

Web server failed to start. Port 8080 was already in use.

原因:端口被占用。

解决:

  • 找到占用端口的进程并关闭,或在配置中换一个端口:

server: port: 8081

3. 数据库驱动版本不匹配

报错信息:

java.lang.AbstractMethodError: com.mysql.cj.jdbc.Driver.getMajorVersion()

原因:MySQL驱动版本与数据库版本不匹配。

解决:

  • MySQL 8.x 使用较新版本的驱动:

<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.33</version> </dependency>

4. 包扫描路径不对

现象:项目能启动,但访问接口返回404,或者Autowired注入失败。

原因:启动类的位置不对,默认扫描启动类所在包及其子包。

解决:

  • 确保启动类放在最外层包下

  • 或者手动指定扫描路径:

@SpringBootApplication(scanBasePackages = {"com.example.controller", "com.example.service"})

5. Maven依赖冲突

报错信息:

java.lang.NoSuchMethodError: com.google.common.collect.FluentIterable

原因:项目中有多个版本的同一个jar包冲突。

解决:

  • 在 pom.xml 中用<exclusions>排除冲突的依赖:

<dependency> <groupId>xxx</groupId> <artifactId>xxx</artifactId> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions> </dependency>

6. Lombok相关的报错

报错信息:

java: cannot find symbol symbol: method getXxx()

原因:IDE没有安装Lombok插件,或者没有启用注解处理器。

解决:

  • IDEA安装Lombok插件:File → Settings → Plugins → 搜索Lombok

  • 启用注解处理器:Settings → Build → Compiler → Annotation Processors → Enable

7. 配置文件格式错误

现象:启动时报YamlPropertySourceLoader相关错误。

原因:yml文件的缩进或格式不正确。

解决:

  • yml对缩进敏感,检查每层的空格数

  • 冒号后面必须有一个空格

8. Whitelabel Error Page

现象:启动成功,但访问页面显示Whitelabel Error Page。

原因:没有配置Controller,或者Controller路径不对。

解决:

  • 确认Controller类上加了@RestController@Controller

  • 确认@RequestMapping中的路径正确

9. 内存不足

报错信息:

java.lang.OutOfMemoryError: Java heap space

解决:

  • 在IDEA或命令行中加大JVM内存:

java -Xms512m -Xmx1024m -jar your-app.jar

10. 端口被系统保留

报错信息:

BindException: Cannot assign requested address

解决:

  • Windows上某些端口被系统保留,换一个端口试试。

总结

遇到启动报错不要慌,先看错误信息的第一行,找到真正的异常原因,再对症下药。上面这10种覆盖了日常开发中90%的启动报错场景。

http://www.jsqmd.com/news/1006160/

相关文章:

  • 拉格朗日反演
  • 3D视频转2D终极指南:用普通屏幕体验VR影院效果
  • 2026在线录音转文字保姆级教程,免费工具手把手教你用
  • 3步解锁VLC安卓版无线投屏:告别格式转换烦恼
  • MCU寄存器编程实战:从Flash操作到GPIO配置的底层控制
  • 学习 LPRNet 框架——轻量级车牌识别网络从结构到工程落地
  • 北京海淀区黄金回收去哪里好?按你的黄金类型和需求来,这篇一次说清楚 - 新闻快传
  • 告别原生丑边框:用WPF的WindowChrome打造你的专属应用皮肤(附完整XAML代码)
  • 2026整理藏品做断舍离,闲置翡翠轻松变现 - 讯息早知道
  • 专业级富文本编辑器Summernote:5分钟打造高效内容编辑界面的完整指南
  • 美图设计室做电商图好用吗?PixPix官网多模型聚合给你更多选择
  • MC68SZ328中断与GPIO核心机制:从IPR、ILCR到引脚复用的实战解析
  • 如何零基础将照片变成立体浮雕?ImageToSTL图像转3D模型终极指南
  • 2026重庆奢侈品包包回收靠谱指南|实地探店实测、行情解析与正规门店盘点 - 薛定谔的梨花猫
  • 当Python程序员第一次接手PLC项目:我是如何用Snap7库搞定西门子S7数据读写的
  • Adobe Illustrator智能填充脚本Fillinger:专业设计师的图案分布解决方案
  • 英雄联盟回放播放终极解决方案:ROFL-Player完整使用手册
  • 为什么你的QuPath命令行打不开.mrxs文件?深入剖析OpenSlide扩展加载机制
  • 3步实现iOS设备激活限制绕过:applera1n开源工具使用全攻略
  • 拼多多数据采集终极指南:5分钟快速部署的完整实战方案
  • 企业展厅建设从规划到落地的避坑参考 | 行业全景与采购决策指南
  • 2026年济南清真喀什味道大盘鸡运营案例分析 - 资讯焦点
  • MC68030性能调优实战:从时序表解读到MMU中断延迟优化
  • eSPI总线的四大“频道”详解:Peripheral、Virtual Wire、Flash、OOB,哪个才是你项目里的关键先生?
  • PS液化工具进阶指南:如何用‘球面化’滤镜自然缩小头部(附参数详解)
  • 别再只会用默认黑点了!LaTeX中itemize、enumerate、description的5个高阶美化技巧
  • 2026年京东云Hermes Agent/OpenClaw配置Token Plan部署全流程
  • 别再用默认设置了!5个Ovito高级渲染技巧,让你的分子模拟图瞬间提升档次
  • pg2mysql:3大核心模块轻松搞定PostgreSQL到MySQL数据迁移
  • 2026年6月南宁靠谱SEO优化公司TOP5权威体验:综合实力测评,专业流量优化服务商怎么选? - 资讯焦点