【问题标题】:java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the contextjava.lang.IllegalStateException:LifecycleProcessor 未初始化 - 在通过上下文调用生命周期方法之前调用“刷新”
【发布时间】:2011-10-06 15:54:12
【问题描述】:

我正在使用 maven_spring 3.1.M2 + hibernate 3.5。一旦我将<tx:annotation-driven /> 行放入我的applicationcontex xml 文件中,就会出现以下错误:

WARNING: Exception thrown from LifecycleProcessor on context close
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Sat Jul 16 13:00:52 IST 2011]; root of context hierarchy
    at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:350)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1033)
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:988)
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:534)
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142)
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4721)
    at org.apache.catalina.core.StandardContext$4.call(StandardContext.java:5423)
        at org.apache.catalina.core.StandardContext$4.call(StandardContext.java:5402)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

我应该怎么做才能解决这个问题?

【问题讨论】:

  • 请:a) 你的上下文是什么样的? b) 您的上下文是如何启动的(以编程方式、webapp 等)?
  • 你可能错过了一门课,就像我在这里一样:stackoverflow.com/q/8330414。还有其他例外吗?

标签: hibernate spring


【解决方案1】:

您的 pom.xml 或 lib 目录中是否有 AspectJ?

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>3.1.0.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>${aspectj.version}</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>${aspectj.version}</version>
</dependency>

我遇到了同样的错误,这解决了我的问题。

【讨论】:

  • 不工作,甚至已经有:spring-aspects-3.2.1.RELEASE.jar aspectjrt-1.7.1.RELEASE.jar aspectjweaver-1.7.1.RELEASE.jar
  • 我想看看您的pom.xml(仅限依赖项),因为我认为依赖项树中存在故障(多个或不是“合适的”AspectJ 和 Spring 组合)。跨度>
  • 现在我已经删除了所有内容并重新开始执行 pom,并且不再是那个错误。我得到了许多可能是导致的项目依赖项,但不知道如何指定告诉他们...
【解决方案2】:

我有同样的问题,解决方案是 Spring jars 现在这取决于每个人他的项目正在使用哪个弹簧罐以及实际上缺少哪个弹簧罐。 对我来说,创建项目时发生了 3-4 次。有时我有所有 Spring jar 但没有 Spring.jar 下一次 Spring Aspect jar 丢失了。而在其他时候,我确保了所有但错过了安全性。但我总是通过小心地放置弹簧罐来修复它。 无需寻找任何其他原因。

希望能有所帮助,只关注 Spring jar 而不是其他的。快乐的编码家伙!

【讨论】:

    【解决方案3】:

    我在同时使用jersey-spring3spring-core 时遇到了这个问题。 jersey-spring3.jar 使用自己的 Spring 库版本,所以要使用你想要的,你需要手动排除这些库。

    <dependency>
            <groupId>org.glassfish.jersey.ext</groupId>
            <artifactId>jersey-spring3</artifactId>
            <version>2.22.1</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-web</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-beans</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>bean-validator</artifactId>
                    <groupId>org.glassfish.hk2.external</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    

    【讨论】:

      【解决方案4】:

      解决pom.xml中spring依赖的版本冲突,可能在各个版本中更改类名或添加其他依赖不兼容的特性。

      【讨论】:

        猜你喜欢
        • 2015-08-06
        • 2017-10-14
        • 2017-11-24
        • 1970-01-01
        • 1970-01-01
        • 2020-02-03
        • 1970-01-01
        • 2015-06-22
        • 1970-01-01
        相关资源
        最近更新 更多