Подтвердить что ты не робот

Java.lang.IllegalStateException: LifecycleProcessor не инициализирован - вызовите 'refresh' перед вызовом методов жизненного цикла через контекст

Я использую maven_spring 3.1.M2 + hibernate 3.5. После того, как я поместил строку <tx:annotation-driven /> в мой XML файл applicationcontex, возникнет следующая ошибка:

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)

Что мне делать, чтобы исправить это?

4b9b3361

Ответ 1

У вас есть AspectJ в вашем pom.xml или в вашем lib-каталоге?

<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>

У меня была такая же ошибка, и это решило мою проблему.

Ответ 2

У меня была та же проблема, и решение - это Spring банки Теперь это зависит от человека к человеку, который использует его проект, а на самом деле отсутствует. Для меня это произошло 3-4 раза, когда я создал проект. Когда-то у меня был все Spring jar, но не Spring.jar В следующий раз Spring Аспектный банд отсутствовал. в то время как в какой-то другой момент я убедился в безопасности, но пропустил безопасность. Но я всегда исправлял это, аккуратно размещая банки Spring. Нет необходимости искать другую причину.

Надейтесь, что помогите и сосредоточьтесь только на Spring баночках, а не на других. Счастливые Кодирующие парни!!

Ответ 3

Я столкнулся с этой проблемой при использовании как jersey-spring3, так и spring-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

разрешить конфликтную версию зависимостей spring в pom.xml, может быть в другом имени класса изменения версии или добавить функцию, которая в других зависимостях имеет несовместимость.