【问题标题】:Springboot application cannot be started due to java.lang.IllegalArgumentException: Sources must not contain null elements由于 java.lang.IllegalArgumentException,Springboot 应用程序无法启动:源不得包含空元素
【发布时间】:2022-10-07 06:03:40
【问题描述】:

我的 SpringBoot 应用程序出现以下启动错误

OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
07:13:51.810 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalArgumentException: Sources must not contain null elements
    at org.springframework.util.Assert.notNull(Assert.java:201)
    at org.springframework.boot.context.properties.bind.Binder.<init>(Binder.java:186)
    at org.springframework.boot.context.properties.bind.Binder.<init>(Binder.java:160)
    at org.springframework.boot.context.properties.bind.Binder.<init>(Binder.java:139)
    at org.springframework.boot.context.properties.bind.Binder.<init>(Binder.java:120)
    at org.springframework.boot.context.properties.bind.Binder.<init>(Binder.java:75)
    at org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor.getConfigImportArray(ConfigDataMissingEnvironmentPostProcessor.java:113)
    at org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor.propertySourceWithConfigImport(ConfigDataMissingEnvironmentPostProcessor.java:109)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)
    at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
    at org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor.getConfigImports(ConfigDataMissingEnvironmentPostProcessor.java:99)
    at org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor.postProcessEnvironment(ConfigDataMissingEnvironmentPostProcessor.java:78)
    at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEnvironmentPreparedEvent(EnvironmentPostProcessorApplicationListener.java:102)
    at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEvent(EnvironmentPostProcessorApplicationListener.java:87)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
    at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:85)
    at org.springframework.boot.SpringApplicationRunListeners.lambda$environmentPrepared$2(SpringApplicationRunListeners.java:66)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:120)
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:114)
    at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:65)
    at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:344)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295)
    at com.example.oauth2resttemplate.Application.main(Application.java:14)

Process finished with exit code 1

我确实有 Application.class 进入运行方法

@SpringBootApplication
@EntityScan(basePackages = \"com.example.oauth2resttemplate\")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

如果我添加一个 API jar 作为另一个项目的依赖项,则会出现此问题。我检查了罐子,它似乎是正常的。它只是在类中使用注释 例如

@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)

    标签: spring-boot


    【解决方案1】:

    我发现 API 父 pom 带来了一些其他依赖项,例如 oauth,这会导致此问题。这是因为当前的 SpringBoot 应用程序没有配置相应的属性。我必须从父 pom 中移出不正确的依赖项

    【讨论】:

      猜你喜欢
      • 2018-10-13
      • 2011-08-22
      • 2018-08-01
      • 2020-09-02
      • 2011-06-25
      • 2017-02-20
      • 1970-01-01
      • 2013-10-13
      相关资源
      最近更新 更多