【问题标题】:Spring application start error: sources must not be emptySpring应用启动报错:sources不能为空
【发布时间】:2016-04-26 15:09:10
【问题描述】:

我正在学习 Spring 教程,当我尝试启动 Spring 应用程序时,出现以下错误:

2016-01-20 23:18:15.907 信息 5271 --- [主要] os.boot.SpringApplication : 启动 SpringApplication v1.3.1.RELEASE on ...

2016-01-20 23:18:15.911 信息 5271 --- [主要] os.boot.SpringApplication :没有活动的配置文件集, 回退到默认配置文件:默认

2016-01-20 23:18:15.918 错误 5271 --- [主要] os.boot.SpringApplication : 应用程序启动失败 java.lang.IllegalArgumentException:源不能为空 org.springframework.util.Assert.notEmpty(Assert.java:276) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE] 在 org.springframework.boot.SpringApplication.doRun(SpringApplication.java:352) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:305) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1124) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] 在 org.springframework.boot.SpringApplication.main(SpringApplication.java:1140) [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE]

这个“来源不能为空”的错误是什么?

我正在为本教程项目使用 Eclipse - Maven 项目,并且我已经更新了该项目。我也进行了清理和重建,但仍然出现此错误。

【问题讨论】:

  • 看一下 doRun 方法,看看断言在检查什么
  • 请添加相关代码段,以便大家提供更多有用的建议。
  • 这可能是由于不同版本的 Spring 库的脏类路径造成的。清理它并将其与具有正确版本依赖关系的同一个 Spring 版本对齐。
  • 请添加相关代码,尤其是你的SpringBootApplicationEnableAutoConfiguration注解类

标签: java spring rest


【解决方案1】:

我在 Eclipse 上制作了一个 Spring Boot 项目。我使用了 Spring 初始化程序,这是第一次运行,我遇到了 Error: Could not find or load main class 错误。 所以我做了:Run>Run Configurations>Main Class>Search> Select "Spring Application。 然后,我得到了java.lang.IllegalArgumentException: Sources must not be empty 错误。我通过创建一个新工作区来修复它,但后来我决定使用 İntellij IDE,因为它对初学者更友好。

【讨论】:

  • 我认为这不能解决操作员的问题。
【解决方案2】:

最近遇到了同样的问题,原来我运行了错误的 java 类。我去了我有@SpringBootApplication 的班级,然后右键单击-> 作为java 应用程序运行。希望这会对某人有所帮助。

【讨论】:

    【解决方案3】:

    运行主类而不是项目。

    【讨论】:

    • 这对我有用,我尝试执行主 Spring 引导类并修复
    • 这对我有用。挠了我一个小时的头,终于,这奏效了。
    【解决方案4】:

    原来我在 Eclipse 中没有正确设置主类 - Debug, and Run 配置。

    我将org.springframework.boot.SpringApplication设置为主类。

    主类应该指向我的主类。

    【讨论】:

      【解决方案5】:

      在主类中添加 scanBasePackages="com.login" 这样你的所有代码都可以工作。

      package com.login.example.LoginExample;
      
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      @SpringBootApplication(scanBasePackages="com.login")
      
      public class LoginExampleApplication {
      
      public static void main(String[] args) {
          SpringApplication.run(LoginExampleApplication.class, args);
          }
      }
      

      【讨论】:

        【解决方案6】:

        您必须添加至少一个主配置类作为源(请参阅随附的屏幕截图)。

        错误:

        对:

        【讨论】:

        • 非常感谢。我忘了添加这个。我的主班只有一张hello world的印刷品。傻我。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-29
        • 2022-11-11
        • 2017-02-11
        • 2022-10-04
        • 2018-07-29
        • 2014-04-17
        相关资源
        最近更新 更多