You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Spring Boot项目提示'Sources must not be empty'异常如何解决

异常原因

该java.lang.IllegalArgumentException: Sources must not be empty异常是Spring Boot启动时的常见错误,核心原因是Spring容器初始化时没有接收到有效的配置源(通常是主启动类),绝大多数情况都是主启动类的main方法写法错误导致。

常见触发场景
  • 主启动类的SpringApplication.run()方法漏传参数,比如只写了SpringApplication.run();,没有传入主类class和启动参数args
  • IDE运行配置错误,选择了org.springframework.boot.SpringApplication本身的main方法作为启动入口,而非你自己写的带@SpringBootApplication注解的项目主类
  • 自定义SpringApplication实例启动时,没有调用sources()/setSources()方法传入配置类,或者传入了空的配置集合
修复方案
  1. 优先检查主启动类写法,确保写法如下:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class LoginMvcApplication {

    public static void main(String[] args) {
        // 必须传入当前主类的Class作为第一个参数,第二个参数为启动入参args,不可缺失
        SpringApplication.run(LoginMvcApplication.class, args);
    }
}
  1. 检查IDE的启动配置,确认启动的主类为上述你自己编写的带@SpringBootApplication注解的类,而非Spring框架自带的SpringApplication类
  2. 如果你使用自定义SpringApplicationBuilder的方式启动,必须主动指定配置源:
public static void main(String[] args) {
    new SpringApplicationBuilder()
        // 必须添加该行指定主配置类,不可缺失
        .sources(LoginMvcApplication.class)
        .run(args);
}
  1. 修复完成后执行mvn clean install清理并重新构建项目,再启动即可解决问题。

内容的提问来源于stack exchange,提问作者E.Magdaleno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:54:05