使用 Spring Boot 时 java.lang.IllegalStateException LifecycleProcessor 和 ApplicationEventMulticaster 未初始化

2024-03-28

我创建了一个 Spring Boot 包装类,如下所示:

package package.for;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
@EnableAutoConfiguration
public class AppBooter {

    public static void main(String args[]){
        SpringApplication.run("path/to/context.xml", args);
        System.out.println("============ done");
        do{

        }while(true);
    }
}

context.xml 包含指向主类的 bean,如下所示:

<bean id="starter" class="package.for.AppBooter" />

以及我需要的其他几种豆子。

至于依赖项,我有以下内容:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot</artifactId>
        <version>1.1.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>1.1.7.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>axis</groupId>
        <artifactId>axis</artifactId>
        <version>1.4</version>
        <scope>provided</scope>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
            <exclusion>
                <groupId>axis</groupId>
                <artifactId>axis-wsdl4j</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId> wsdl4j</groupId>
        <artifactId>wsdl4j</artifactId>
        <version>1.6.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.7</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>opensymphony</groupId>
        <artifactId>sitemesh</artifactId>
        <version>2.5</version>
    </dependency>

但是,当我运行时,出现以下异常:

Exception in thread "main" 2014-10-07 16:12:54.267  INFO 4616 --- [       Thread-1] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6c4cbf96: startup date [Tue Oct 07 16:12:50 CEST 2014]; root of context hierarchy
java.lang.NoSuchMethodError: org.springframework.data.repository.config.RepositoryConfigurationDelegate.<init>(Lorg/springframework/data/repository/config/RepositoryConfigurationSource;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/core/env/Environment;)V
    at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:58)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:319)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:139)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:324)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:608)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:463)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:952)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:941)
    at package.for.AppBooter.main(AppBooter.java:12)
2014-10-07 16:12:54.303  WARN 4616 --- [       Thread-1] ationConfigEmbeddedWebApplicationContext : Exception thrown from ApplicationListener handling ContextClosedEvent

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6c4cbf96: startup date [Tue Oct 07 16:12:50 CEST 2014]; root of context hierarchy
    at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:345)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:332)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:879)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.doClose(EmbeddedWebApplicationContext.java:141)
    at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:808)

2014-10-07 16:12:54.304  WARN 4616 --- [       Thread-1] ationConfigEmbeddedWebApplicationContext : Exception thrown from LifecycleProcessor on context close

java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6c4cbf96: startup date [Tue Oct 07 16:12:50 CEST 2014]; root of context hierarchy
    at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:358)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:887)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.doClose(EmbeddedWebApplicationContext.java:141)
    at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:808)

至于我如何打包 jar,这里是插件片段:

       <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>package.for.AppBooter</mainClass>
            </configuration>
            <version>1.1.5.RELEASE</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions
        </plugin>

通过将 spring-web 和 spring-webmvc 依赖项升级到 4.0.7.RELEASE 解决了这个问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Spring Boot 时 java.lang.IllegalStateException LifecycleProcessor 和 ApplicationEventMulticaster 未初始化 的相关文章

  • java“void”和“非void”构造函数

    我用 java 编写了这个简单的类 只是为了测试它的一些功能 public class class1 public static Integer value 0 public class1 da public int da class1 v
  • 在气球内显示带有照片的多个地标的最佳做法是什么?

    我有一个项目如下 从手机上拍摄几张照片 将照片保存在网络系统中 然后将照片显示在其中的谷歌地球上 我读过很多文章 但它们都使用 fetchKml 我读过的一篇好文章是使用 php 但使用 fetchKml 我不知道是否可以使用 parseK
  • 使用Spring Cloud Stream Kafka动态更改instanceindex

    如同 在运行时更改 spring cloud stream 实例索引 计数 https stackoverflow com questions 37579939 changing spring cloud stream instance i
  • 如何正确配置Tomcat SSLHostConfig?

    我正在按照本教程在 tomcat 中启用 ssl https medium com raupach how to install lets encrypt with tomcat 3db8a469e3d2 https medium com
  • 如何消除警告:使用“$”而不是“.”对于 Eclipse 中的内部类

    我是 Android 开发新手 当我将 eclipse 和 Android SDK 更新到最新版本后 我收到警告 Use instead of for inner classes or use only lowercase letters
  • Java 的 QP 求解器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 会话 bean 中的 EntityManager 异常处理

    我有一个托管无状态会话 bean 其中注入了 EntityManager em 我想做的是拥有一个具有唯一列的数据库表 然后我运行一些尝试插入实体的算法 但是 如果实体存在 它将更新它或跳过它 我想要这样的东西 try em persist
  • Flyway无序迁移

    想象一下我有以下飞行路线迁移 V1 create table sql V2 create table sql V4 create table sql 这些迁移已经应用到我的数据库中 是否可以添加以下脚本 V3 create table sq
  • 源服务器未找到目标资源的当前表示或不愿意透露该表示存在

    web xml
  • java 属性文件作为枚举

    是否可以将属性文件转换为枚举 我有一个包含很多设置的属性文件 例如 equipment height equipment widht equipment depth and many more like this and not all a
  • Java中的DRY原则[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我一直在读关于DRY https en wikipedia org wiki Don 27t repeat yourself原则 虽然看起来
  • @TestPropertySource 不适用于 Spring 1.2.6 中使用 AnnotationConfigContextLoader 的 JUnit 测试

    似乎我在 Spring 4 1 17 中使用 Spring Boot 1 2 6 RELEASE 所做的任何事情都不起作用 我只想访问应用程序属性并在必要时通过测试覆盖它们 无需使用 hack 手动注入 PropertySource 这不行
  • Mule/码头设置

    我有一个正在运行的 Mule 应用程序 我想在其上设置 Jetty 来响应 http 请求 以下配置
  • Spring Data JPA Redis:无法编写基于自定义方法的查询

    我已经使用 Redis 配置了 Spring Data JPA 并使用RedisRepositorieswith 提供了类似的方法find findAll 所有这些方法似乎都工作得很好 但我无法编写我的自定义方法 RedisEntity f
  • 使用 Maven 3 时 Cobertura 代码覆盖率为 0%

    读完这篇文章后 将 Cobertura 与 Maven 3 0 2 一起使用的正确方法是什么 https stackoverflow com questions 6931360 what is the proper way to use c
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • JDK 7 的快速调试/调试构建

    我正在寻找 JDK 的调试 或者我猜他们称之为快速调试构建 以启用在运行时生成的打印程序集以及查找性能问题时所需的其他诊断 就目前情况而言 我似乎找不到可以直接使用的 现成的 快速调试构建二进制包 有人可以帮我提供下载链接 或者至少提供有关
  • 监控 Java 应用程序上的锁争用

    我正在尝试创建一个小基准 在 Groovy 中 以显示几个同步方法上的高线程争用 当监控自愿上下文切换时 应该会出现高争用 在 Linux 中 这可以通过 pidstat 来实现 程序如下 class Res private int n s
  • 将隐藏(生物识别)数据附加到 pdf 上的数字签名

    我想知道是否可以使用 iText 我用于签名 或 Java 中的其他工具在 pdf 上添加生物识别数据 我会更好地解释一下 在手写板上签名时 我会收集签名信息 例如笔压 签名速度等 我想将这些信息 java中的变量 与pdf上的签名一起存储
  • 如何使用 Spring AOP 建议静态方法?

    在执行类的静态方法之前和之后需要完成一些日志记录 我尝试使用 Spring AOP 来实现这一点 但它不起作用 而对于正常方法来说它起作用 请帮助我理解如何实现这一点 如果可以使用注释来完成 那就太好了 也许您应该在使用 Spring AO

随机推荐

  • 以极高的速度获取行

    我在 Oracle 中有一个非常大的表 数亿行 包含数字和字符串 我需要读取该表的所有内容 对其进行格式化并写入文件或任何其他资源 一般来说 我的解决方案如下所示 package my odp import java io Buffered
  • 传递零大小的数组,保存分配?

    在此代码示例中 第 114 页基础扎实的 Java 开发人员 https rads stackoverflow com amzn click com 1617290068 最后一行 Update updates lu toArray new
  • 当子组件发生变化时,父组件是否会重新渲染?

    我有一个父组件 如下所示 const Parent gt return
  • Code Golf:数字的质因数[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • CruiseControl.Net 仪表板 + Apache

    我正在尝试让 cc net 仪表板在也有 apache 的构建机器上运行 我尝试按照描述安装 mod aspdotnethere http weblogs asp net israelio archive 2005 09 11 424852
  • 辅助服务无法读取所有屏幕内容

    Issue 没有在 Android 馅饼中获取屏幕上的所有文本 检查直到牛轧糖代码工作正常 Device 小米 MiA1 Android One 版本 9 0 XML 设置
  • 禁用右键单击表单字段级别

    我需要通用功能 可以禁用右键单击表单字段 document oncontextmenu function e var el window event srcElement e target var tp el tagName if tp t
  • 在 test_package 中使用过滤器参数来跳过测试

    我想在期间运行我的包单元测试R CMD check 但跳过需要互联网连接的测试 按照惯例 所有需要互联网的单元测试都有这个词network在他们的文件名中 因此我的run all R包含 library testthat test pack
  • 未知自定义结构上的结构化绑定

    简洁版本 我希望能够将结构转换为元组 至少是类型 在下面的代码中 转换为元组函数不起作用 因为可变参数不能在结构化绑定中使用 据我所知 关键行是 自动 值 值 struct Vec3 float x float y float z temp
  • PySpark:添加一个新列,其中包含从列创建的元组

    这里我创建了一个数据框 如下所示 df spark createDataFrame a 5 R X b 7 G S c 8 G S Id V1 V2 V3 看起来像 Id V1 V2 V3 a 5 R X b 7 G S c 8 G S 我
  • 追加克隆或动态创建 DOM - 哪个更好?

    我希望从 ajax 调用返回的数组中生成以下列表 ul li li ul
  • Asciidoc 中文字内的替换

    似乎没有办法在 Asciidoc 的文字文本中解析变量 属性 替换 否则我会遗漏一些东西 我希望能够设置一个变量 然后在代码块或文字字符串中调用它 如下所示 version 1 0 1 code tar xzvf mysoftware ve
  • the_title 函数返回字符串而不是 WordPress 中的 echo

    在Wordpress中 如何更改the title 回显标题以返回字符串的函数 title反而 我正在尝试 the title gt title the title title 两种方式 Use get the title https de
  • 通过 Tweepy 去除推文中的换行符

    我正在寻找从 Twitter API 提取数据并创建一个管道分隔的文件 我可以对其进行进一步处理 我的代码目前如下所示 auth tweepy OAuthHandler CONSUMER KEY CONSUMER SECRET auth s
  • PHP mkdir 问题!

    我尝试创建一些像这样的目录 mkdir photos cat sku 0777 true 它使用 0777 权限创建第一个目录 但在创建第二个目录时使用 000 作为其权限 因此无法创建第三个目录 请问有解决方法吗 谢谢 理查德 这解决了这
  • 通过引用传递比较器函数 (C++11)

    我正在尝试加快我的代码速度 下面是最小的 可重现的示例 并且我被告知通过引用传递对于我的比较器函数来说是一种更有效的方法 那是我第一次听说这个短语 所以我查了一下 找到了一些带有示例的网站 但我不明白何时以及如何使用它 在这种情况下我将如何
  • 列出与rabbitmq java客户端API交换的绑定

    我似乎在文档中找不到任何信息 所以我想知道是否可以通过某种方式使用 java RabbitMQ API 获取与交换相关的所有绑定 我在查询 api bindings 时正在寻找类似 http api 结果的内容 api definition
  • Cocoa 应用程序已完成启动

    有什么方法可以判断 Cocoa 应用程序 例如 Safari 是否已完成启动并能够响应 我知道在实际代码中使用委托很容易 但这对于我正在做的事情来说是不可能的 Thanks 查看 NSWorkspace 和 NSWorkspaceDidLa
  • PHP中的DES/ECB/PKCS5Padding解密

    我需要用 PHP 或 Javascript 解密一些服务调用 我花了一整天的时间试图完成这个任务 但我无法正确解密它 作为参考 服务提供商给我发送了以下 Java 解密示例代码 DESKeySpec dks new DESKeySpec k
  • 使用 Spring Boot 时 java.lang.IllegalStateException LifecycleProcessor 和 ApplicationEventMulticaster 未初始化

    我创建了一个 Spring Boot 包装类 如下所示 package package for import org springframework boot SpringApplication import org springframe