首页 文章

升级到hibernate 4和spring 4 jar但仍然获得org.hibernate.engine.FilterDefinition classnotfoundexception

提问于
浏览
0

我正在尝试升级到 Hibernate 4.3.8Spring 4.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

jar 列表

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 表达-4.1.6.RELEASE.jar, spring 测试4.1.6.RELEASE.jar, spring 分批芯2.1.7.RELEASE.jar, spring JDBC-4.1.6.RELEASE . jar , spring TX-4.1.6.RELEASE.jar, spring 批基础设施2.1.7.RELEASE.jar, spring ORM-4.1.6.RELEASE.jar, spring 网络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 上下文4.1.6.RELEASE.jar, spring 安全ACL-4.0.1.RELEASE.jar, spring webmvc的portlet-4.1.6.RELEASE.jar, spring 上下文支持-4.1.6.RELEASE.jar, spring 安全配置-4.0 . 1.RELEASE.jar, spring -WS-芯2.1.3.RELEASE.jar, spring 芯4.1.6.RELEASE.jar, spring 安全核心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.Fin al.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-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

1 回答

  • 0

    Solution to your question

    • 您可能在类路径中缺少hibernate-core-4.3.8.Final.jar . 它有FilterDefinition类 .

    • 如果您使用Maven,请在POM.xml文件中添加此依赖项 .

    <dependency>
     <groupId>org.hibernate</groupId>
     <artifactId>hibernate-core</artifactId>
     <version>4.3.8.Final</version>
    </dependency>
    

相关问题