SpringBoot启动失败的10种常见报错及解决方案

 更新时间:2026年06月29日 08:46:27   作者:张老师技术栈  
这篇文章主要介绍了SpringBoot启动失败的10种常见报错及解决方案,涵盖Port被占用、DataSource配置错误、Lombok插件未安装等常见问题,附详细解决方法,需要的朋友可以参考下

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%的启动报错场景。

以上就是SpringBoot启动失败的10种常见报错及解决方案的详细内容,更多关于SpringBoot启动失败报错及解决的资料请关注脚本之家其它相关文章!

相关文章

  • java实现本地日期时间处理

    java实现本地日期时间处理

    这篇文章主要介绍了本地日期时间处理的程序,实现了下面的功能,大家参考使用吧
    2014-01-01
  • SpringBoot LogbackvsLog4j2配置与性能测试对比分析

    SpringBoot LogbackvsLog4j2配置与性能测试对比分析

    本文主要对比了SpringBoot中Logback和Log4j2的日志框架,Logback作为Log4j的继任者,性能稳定,适合大多数应用场景,而Log4j2通过异步日志记录方式,在高并发场景下性能优越,支持多种配置方式,但配置相对复杂,需要排除默认的Logback依赖
    2025-12-12
  • springBoot整合rabbitMQ的方法详解

    springBoot整合rabbitMQ的方法详解

    这篇文章主要介绍了springBoot整合rabbitMQ的方法详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Java多线程中关于join方法的使用实例解析

    Java多线程中关于join方法的使用实例解析

    本文通过实例代码给大家实例介绍了Java多线程中关于join方法的使用,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-01-01
  • Spring  ApplicationContextAware 接口的作用及使用方式

    Spring  ApplicationContextAware 接口的作用及使用方式

    Spring提供了许多回调接口,用于Bean生命周期中执行特定的操作,通过实现ApplicationContextAware接口,Spring提供了一种便捷的方式让 Bean获取对Spring容器的引用,本文介绍ApplicationContextAware接口的作用、使用方式,以及在实际应用中的常见场景,感兴趣的朋友一起看看吧
    2024-01-01
  • Jmeter如何获取jtl文件中所有的请求报文详解

    Jmeter如何获取jtl文件中所有的请求报文详解

    JMeter的可以创建一个包含测试运行结果的文本文件,这些通常称为JTL文件,因为这是默认扩展名,但可以使用任何扩展名,这篇文章主要给大家介绍了关于Jmeter如何获取jtl文件中所有的请求报文的相关资料,需要的朋友可以参考下
    2021-09-09
  • 关于SpringMVC中控制器如何处理文件上传的问题

    关于SpringMVC中控制器如何处理文件上传的问题

    这篇文章主要介绍了关于SpringMVC中控制器如何处理文件上传的问题,在 Web 应用程序中,文件上传是一个常见的需求,例如用户上传头像、上传文档等,本文将介绍 Spring MVC 中的控制器如何处理文件上传,并提供示例代码,需要的朋友可以参考下
    2023-07-07
  • dom4j操作xml的demo(分享)

    dom4j操作xml的demo(分享)

    下面小编就为大家带来一篇dom4j操作xml的demo(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Java代码性能优化的35个方法总结

    Java代码性能优化的35个方法总结

    本篇文章主要介绍了Java代码性能优化的35个方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Mybatis注解sql时出现的一个错误及解决

    Mybatis注解sql时出现的一个错误及解决

    这篇文章主要介绍了Mybatis注解sql时出现的一个错误及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论