java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot启动失败报错及解决

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

作者:张老师技术栈

这篇文章主要介绍了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})

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驱动版本与数据库版本不匹配。

解决:

<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包冲突。

解决:

<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插件,或者没有启用注解处理器。

解决:

7. 配置文件格式错误

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

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

解决:

8. Whitelabel Error Page

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

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

解决:

9. 内存不足

报错信息:

java.lang.OutOfMemoryError: Java heap space

解决:

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

10. 端口被系统保留

报错信息:

BindException: Cannot assign requested address

解决:

总结

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

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

您可能感兴趣的文章:
阅读全文