Spring应用程序启动错误:源不能为空

时间:2016-01-20 16:42:52

标签: java spring rest

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

  

2016-01-20 23:18:15.907 INFO 5271 --- [主要]   o.s.boot.SpringApplication:启动SpringApplication   v1.3.1.RELEASE on ...

     

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

     

2016-01-20 23:18:15.918 ERROR 5271 --- [主要]   o.s.boot.SpringApplication:应用程序启动失败   java.lang.IllegalArgumentException:源不能为空   org.springframework.util.Assert.notEmpty(Assert.java:276)   〜[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE] at   org.springframework.boot.SpringApplication.doRun(SpringApplication.java:352)   [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:305)   [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at   org.springframework.boot.SpringApplication.run(SpringApplication.java:1124)   [spring-boot-1.3.1.RELEASE.jar:1.3.1.RELEASE] at   org.springframework.boot.SpringApplication.main(SpringApplication.java:1140)   [弹簧引导1.3.1.RELEASE.jar:1.3.1.RELEASE]

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

我正在为本教程项目使用Eclipse-Maven项目,我已经更新了项目。我也已经清理并重建了但是我仍然遇到了这个错误。

5 个答案:

答案 0 :(得分:13)

事实证明我没有在Eclipse中正确设置主类 - Debug和Run配置。我将org.springframework.boot.SpringApplication设置为主类。 Main类应该指向我的主类。

答案 1 :(得分:5)

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

错误的: enter image description here

右: enter image description here

答案 2 :(得分:4)

运行主类而不是项目。

答案 3 :(得分:0)

在主类上添加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);
    }
}

答案 4 :(得分:0)

最近有同样的问题,原来我运行了错误的Java类。我去了我有@SpringBootApplication的类,然后右键单击->以Java应用程序的身份运行。也许这会帮助像我一样愚蠢的人。