我正在使用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)
我该怎么做才能解决这个问题?
答案 0 :(得分:5)
您的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>
我遇到了同样的错误,这解决了我的问题。
答案 1 :(得分:2)
我遇到了同样的问题,解决方案就是Spring罐子 现在,取决于人与人之间正在使用哪个弹簧罐,实际上哪个是缺失的。 对我来说,当我创建项目时,它发生了3-4次。有时候我有所有的Spring jar而不是Spring.jar 下次Spring Aspect jar丢失了。而有些时候我已经确定了所有但是错过了安全性。但我总是通过小心地放置Spring罐子来修复它。 无需寻找任何其他原因。
希望帮助和专注于只有春天的罐子,而不是其他人。快乐的编码家伙!!
答案 2 :(得分:1)
我同时使用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>
答案 3 :(得分:0)
解决冲突版本pom.xml
中的spring依赖项,可能是各种版本更改类名或添加其他依赖项中不兼容的功能。