Java 升级到hibernate 4和spring 4 jars,但仍获得org.hibernate.engine.FilterDefinition classnotfoundexception
我正在尝试升级到Java 升级到hibernate 4和spring 4 jars,但仍获得org.hibernate.engine.FilterDefinition classnotfoundexception,java,spring,hibernate,spring-mvc,jpa,Java,Spring,Hibernate,Spring Mvc,Jpa,我正在尝试升级到hibernate4.3.8和spring4.1.6版本。当我试图初始化上下文时,得到如下异常 Caused by: java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition; at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.7.0_80] at java.lang.Class.privateGetDecl
hibernate4.3.8
和spring4.1.6
版本。当我试图初始化上下文时,得到如下异常
Caused by: java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition;
at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.7.0_80]
at java.lang.Class.privateGetDeclaredMethods(Class.java:2625) ~[na:1.7.0_80]
at java.lang.Class.getDeclaredMethods(Class.java:1868) ~[na:1.7.0_80]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:571) ~[spring-core-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:488) ~[spring-core-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:501) ~[spring-core-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:474) ~[spring-core-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:241) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1065) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1038) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:860) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:790) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:542) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:436) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:412) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:186) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1105) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE]
... 29 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.hibernate.engine.FilterDefinition
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) ~[catalina.jar:7.0.59]
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) ~[catalina.jar:7.0.59]
... 49 common frames omitted
罐子清单
spring-aop-4.1.6.RELEASE.jar
spring-data-jpa-1.2.0.RELEASE.jar,
spring-security-web-4.0.1.RELEASE.jar,spring-aspects-4.1.6.RELEASE.jar,spring-expression-4.1.6.RELEASE.jar,spring-test-4.1.6.RELEASE.jar,spring-batch-core-2.1.7.RELEASE.jar,spring-jdbc-4.1.6.RELEASE.jar,spring-tx-4.1.6.RELEASE.jar,spring-beans-4.1.6.RELEASE.jar,spring-oxm-4.1.6.RELEASE.jar,spring-webmvc-4.1.6.RELEASE.jar,spring-context-4.1.6.RELEASE.jar,spring-security-acl-4.0.1.RELEASE.jar,spring-webmvc-portlet-4.1.6.RELEASE.jar,spring-context-support-4.1.6.RELEASE.jar,spring-security-config-4.0.1.1.RELEASE.jar,spring-ws-core-core-2.1.3.jar,spring-core-core.jar,spring-security-core-4.0.1.RELEASE.jar,spring-xml-2.1.3.RELEASE.jar,spring-data-commons-core-1.4.0.RELEASE.jar,spring-security-taglibs-4.0.1.RELEASE.jar
hibernate-c3p0-4.3.8.Final.jar hibernate-envers-4.3.8.Final.jar
hibernate-search-engine-4.5.3.Final.jar
hibernate-commons-annotations-4.0.5.Final.jarhibernate-jpa-2.1-api-1.0.0.Final.jar
hibernate-search-orm-4.5.3.Final.jar hibernate-core-4.3.8.Final.jar hibernate-jpamodelgen-4.3.8.Final.jar
hibernate-validator-5.1.3.Final.jar hibernate-ehcache-4.3.8.Final.jar hibernate-search-4.5.3.Final.jar hibernate-entitymanager-4.3.8.Final.jar
hibernate-search-analyzers-4.5.3.Final.jar
问题的解决方案
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.8.Final</version>
</dependency>
org.hibernate
冬眠核心
4.3.8.最终版本
@Gowtham可能重复,请检查此异常是否仍然存在。问题仍然存在。我在sessionFactory的属性文件org.springframework.orm.hibernate4.LocalSessionFactoryBean和事务管理器的属性文件org.springframework.orm.hibernate4.LocalSessionFactoryBean中添加了hibernate-core-4.3.8.Final.jar和spring-orm-4.1.6.RELEASE.jar。@Gowtham,请确保您只在类路径中添加了SpringFramework 4.1.6 BOM表()jar文件。是的,我已在类路径中添加了所有依赖项。您必须使用LocalSessionFactoryBean与Hibernate集成,对于事务,您必须使用HibernateTransactionManager。下面的链接()就是一个很好的例子