ResourceLoader为简单的Spring Boot应用程序null

时间:2016-02-26 16:09:55

标签: java spring spring-boot

我有一个简单的日志记录应用程序,它基于spring-boot并使用gradle创建。以下堆栈跟踪的根本问题是什么?:

ERROR | Application startup failed
java.lang.IllegalArgumentException: ResourceLoader must not be null
    at org.springframework.util.Assert.notNull(Assert.java:112)
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter.<init>(AutoConfigurationSorter.java:53)
    at org.springframework.boot.autoconfigure.EnableAutoConfigurationImportSelector.selectImports(EnableAutoConfigurationImportSelector.java:72)
    at org.springframework.context.annotation.ConfigurationClassParser.processImport(ConfigurationClassParser.java:377)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:205)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:164)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:139)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:284)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:225)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:632)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
    at logging.Service.main(Service.java:12)
 WARN | Exception thrown from ApplicationListener handling ContextClosedEvent
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.context.annotation.AnnotationConfigApplicationContext@1534f01b: startup date [Fri Feb 26 16:14:34 UTC 2016]; root of context hierarchy
    at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:347)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1051)
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1012)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:343)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
    at logging.Service.main(Service.java:12)
Exception in thread "main"  WARN | Exception thrown from LifecycleProcessor on context close
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.springframework.context.annotation.AnnotationConfigApplicationContext@1534f01b: startup date [Fri Feb 26 16:14:34 UTC 2016]; root of context hierarchy
java.lang.IllegalArgumentException: ResourceLoader must not be null at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:360)

    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1059)
    at org.springframework.util.Assert.notNull(Assert.java:112)
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter.<init>(AutoConfigurationSorter.java:53)
    at org.springframework.boot.autoconfigure.EnableAutoConfigurationImportSelector.selectImports(EnableAutoConfigurationImportSelector.javaat org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1012)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:343)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
    at logging.Service.main(Service.java:12)

    at org.springframework.context.annotation.ConfigurationClassParser.processImport(ConfigurationClassParser.java:377)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:205)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:164)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:139)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:284)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:225)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:632)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:321)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:961)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:950)
    at logging.Service.main(Service.java:12)

以下是有问题的来源:

package logging;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jms.annotation.EnableJms;

@SpringBootApplication
@EnableJms
public class Service 
{
    public static void main(String[] args) {
        SpringApplication.run(Service.class, args);
    }
}

这是来自build.gradle的依赖信息:

configurations {
  compile.exclude group:'ch.qos.logback'
}

repositories {
  mavenCentral()
}
dependencies {
    compile group: 'org.apache.activemq', name: 'activemq-all', version: '5.12.0'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '1.2.1.RELEASE' 
    compile("org.springframework:spring-jms")
}

我尝试删除〜/ .gradle / caches,但这没有用。它可能是春天或其他图书馆的冲突版本吗?不知道在哪里看或如何解决。

2 个答案:

答案 0 :(得分:0)

问题是activemq-all模块。将其更改为activemq-core解决了这个问题。

答案 1 :(得分:-1)

我遇到了同样的问题。我刚刚删除了我的pom.xml中的spring弹性搜索依赖项,然后它开始为我工作。

如果您想使用弹性弹性搜索依赖项,请尝试更改版本并尝试使用。