3

Tomcatで実行しているwarをシャットダウンすると、次のエラーが発生します。

[2012-05-03 11:55:36,082] ERROR - org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(501) | Destroy method on bean with name 'threadPoolTaskExecutor' threw an exception
java.lang.NoClassDefFoundError: org/springframework/orm/jpa/EntityManagerFactoryUtils
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessBeforeDestruction(PersistenceAnnotationBeanPostProcessor.java:357)
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:193)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:498)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:474)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:442)
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1066)
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1040)
    at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:958)
Caused by: java.lang.ClassNotFoundException: org.springframework.orm.jpa.EntityManagerFactoryUtils
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    ... 8 more

私のpom.xmlには、依存関係としてspring-orm3.1.1.RELEASEがあります。さらに奇妙なのは、spring-orm 3.1.1.RELEASEクラスであるPersistenceAnnotationBeanPostProcessorクラスに入ることができるのに、同じjarにあるEntityManagerFactoryUtilsクラスが見つからないことです。抽象的または静的であることに関係があると思いますが、この問題をさらに調査する方向がわかりません。本当に利用できるはずのようです。

なぜこれが起こっているのか考えている人はいますか?

4

2 に答える 2

3

確かに、それは私に除外の問題があるかもしれません(これを整理するためにmvndependency:treeを呼び出してみてください)。

あなたはあなたの戦争に瓶を持っていますか?Tomcatライブラリに別のSpringjarがありますか?これはクラスローダーの問題である可能性があります。

于 2012-05-04T08:44:11.760 に答える
0

Mavenモジュールの1つで冗長な依存関係を削除することで、同じ問題を解決しました。私には直接的な依存関係があり、他のモジュールを介して間接的に依存していたため、この動作が発生しました。

于 2015-01-30T08:25:11.710 に答える