我正在尝试在我的项目中配置Spring和Hibernate,并且我在bean验证时遇到问题.我的班级路径中有这个jar:
休眠 – 验证 – 4.2.0.Final.jar
我有一些测试来查询数据库中的一些数据,它工作正常.现在我将这个jar添加到我的类路径中:
验证-API 1.0.0.GA.jar
当我再次尝试运行测试时,我得到了这一堆异常:
java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:308) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencIEs(DependencyInjectionTestExecutionListener.java:109) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runReflectiveCall(SpringJUnit4ClassRunner.java:287) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runchild(SpringJUnit4ClassRunner.java:231) at org.junit.runners.BlockJUnit4ClassRunner.runchild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner.run(ParentRunner.java:193) at org.junit.runners.ParentRunner.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runchildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access0(ParentRunner.java:42) at org.junit.runners.ParentRunner.evaluate(ParentRunner.java:184) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in class path resource [beans.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [beans.xml]: Invocation of init method Failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean ValIDation factory at org.springframework.beans.factory.support.BeanDeFinitionValueResolver.resolveReference(BeanDeFinitionValueResolver.java:328) at org.springframework.beans.factory.support.BeanDeFinitionValueResolver.resolveValueIfNecessary(BeanDeFinitionValueResolver.java:106) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.applyPropertyValues(AbstractautowireCapablebeanfactory.java:1325) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.populateBean(AbstractautowireCapablebeanfactory.java:1086) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.doCreateBean(AbstractautowireCapablebeanfactory.java:517) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.createBean(AbstractautowireCapablebeanfactory.java:456) at org.springframework.beans.factory.support.Abstractbeanfactory.getobject(Abstractbeanfactory.java:293) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:290) at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:192) at org.springframework.beans.factory.support.Defaultlistablebeanfactory.preInstantiateSingletons(Defaultlistablebeanfactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1) at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280) at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304) ... 24 moreCaused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [beans.xml]: Invocation of init method Failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean ValIDation factory at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.initializeBean(AbstractautowireCapablebeanfactory.java:1420) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.doCreateBean(AbstractautowireCapablebeanfactory.java:519) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.createBean(AbstractautowireCapablebeanfactory.java:456) at org.springframework.beans.factory.support.Abstractbeanfactory.getobject(Abstractbeanfactory.java:293) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:290) at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:192) at org.springframework.beans.factory.support.BeanDeFinitionValueResolver.resolveReference(BeanDeFinitionValueResolver.java:322) ... 40 moreCaused by: org.hibernate.HibernateException: Unable to get the default Bean ValIDation factory at org.hibernate.cfg.beanvalIDation.BeanValIDationActivator.applyDDL(BeanValIDationActivator.java:127) at org.hibernate.cfg.Configuration.applyBeanValIDationConstraintsOnDDL(Configuration.java:1704) at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.java:1654) at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1445) at org.hibernate.cfg.Configuration.buildMapPings(Configuration.java:1375) at org.springframework.orm.hibernate3.LocalSessionfactorybean.buildSessionFactory(LocalSessionfactorybean.java:717) at org.springframework.orm.hibernate3.AbstractSessionfactorybean.afterPropertIEsSet(AbstractSessionfactorybean.java:211) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.invokeInitMethods(AbstractautowireCapablebeanfactory.java:1477) at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.initializeBean(AbstractautowireCapablebeanfactory.java:1417) ... 47 moreCaused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(UnkNown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(UnkNown Source) at java.lang.reflect.Method.invoke(UnkNown Source) at org.hibernate.cfg.beanvalIDation.BeanValIDationActivator.applyDDL(BeanValIDationActivator.java:118) ... 55 moreCaused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.hibernate.valIDator.engine.ConfigurationImpl.parseValIDationXml(ConfigurationImpl.java:261) at org.hibernate.valIDator.engine.ConfigurationImpl.buildValIDatorFactory(ConfigurationImpl.java:148) at javax.valIDation.ValIDation.buildDefaultValIDatorFactory(ValIDation.java:111) at org.hibernate.cfg.beanvalIDation.TypeSafeActivator.getValIDatorFactory(TypeSafeActivator.java:380) at org.hibernate.cfg.beanvalIDation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:109) ... 60 more
我错过了什么?如果我没有提供足够的信息,请告诉我.
更新:
– 我没有使用Maven.我正在使用Tomcat 6.最佳答案对于那些使用Java 6(J2SE-1.6)的人
>从Maven中删除Jsr-303(valIDation-API)
>包括这样的hibernate验证器
>清理并构建项目
mvn clean install 总结
以上是内存溢出为你收集整理的java – Hibernate异常:无法获取默认的Bean Validation工厂全部内容,希望文章能够帮你解决java – Hibernate异常:无法获取默认的Bean Validation工厂所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)