java - No persistence unit with name 'XXX' found for JUnit Test only -
it working fine application when trying utilize junit test, doesn't seem find persistence-unit in persistence.xml.
looks couldn't find persistence.xml? file under location /src/main/resources/meta-inf/persistence.xml , have tried add together well
<property name="persistencexmllocation" value="classpath*:meta-inf/persistence.xml"/>
here trace:
2014-06-24 14:15:01 error testcontextmanager:314 - caught exception while allowing testexecutionlistener [org.springframework.test.context.web.servlettestexecutionlistener@7f19c37] prepare test instance [com.ge.wtracker.web.admin.groupadmincontrollertest@746e2f4] java.lang.illegalstateexception: failed load applicationcontext @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontext(cacheawarecontextloaderdelegate.java:99) @ org.springframework.test.context.testcontext.getapplicationcontext(testcontext.java:122) @ org.springframework.test.context.web.servlettestexecutionlistener.setuprequestcontextifnecessary(servlettestexecutionlistener.java:105) @ org.springframework.test.context.web.servlettestexecutionlistener.preparetestinstance(servlettestexecutionlistener.java:74) @ org.springframework.test.context.testcontextmanager.preparetestinstance(testcontextmanager.java:312) @ org.springframework.test.context.junit4.springjunit4classrunner.createtest(springjunit4classrunner.java:211) @ org.springframework.test.context.junit4.springjunit4classrunner$1.runreflectivecall(springjunit4classrunner.java:288) @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:15) @ org.springframework.test.context.junit4.springjunit4classrunner.methodblock(springjunit4classrunner.java:284) @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:231) @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:88) @ org.junit.runners.parentrunner$3.run(parentrunner.java:231) @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:60) @ org.junit.runners.parentrunner.runchildren(parentrunner.java:229) @ org.junit.runners.parentrunner.access$000(parentrunner.java:50) @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:222) @ org.springframework.test.context.junit4.statements.runbeforetestclasscallbacks.evaluate(runbeforetestclasscallbacks.java:61) @ org.springframework.test.context.junit4.statements.runaftertestclasscallbacks.evaluate(runaftertestclasscallbacks.java:71) @ org.junit.runners.parentrunner.run(parentrunner.java:300) @ org.springframework.test.context.junit4.springjunit4classrunner.run(springjunit4classrunner.java:174) @ org.junit.runner.junitcore.run(junitcore.java:157) @ com.intellij.junit4.junit4ideatestrunner.startrunnerwithargs(junit4ideatestrunner.java:77) @ com.intellij.rt.execution.junit.junitstarter.preparestreamsandstart(junitstarter.java:195) @ com.intellij.rt.execution.junit.junitstarter.main(junitstarter.java:63) caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'org.springframework.dao.annotation.persistenceexceptiontranslationpostprocessor#0': initialization of bean failed; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'entitymanagerfactory' defined in class path resource [jpa-appcontext.xml]: invocation of init method failed; nested exception java.lang.illegalargumentexception: no persistence unit name 'defaultpersistenceunit' found @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:529) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:458) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:295) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:223) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:292) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:198) @ org.springframework.context.support.abstractapplicationcontext.registerbeanpostprocessors(abstractapplicationcontext.java:741) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:464) @ org.springframework.test.context.web.abstractgenericwebcontextloader.loadcontext(abstractgenericwebcontextloader.java:128) @ org.springframework.test.context.web.abstractgenericwebcontextloader.loadcontext(abstractgenericwebcontextloader.java:60) @ org.springframework.test.context.support.abstractdelegatingsmartcontextloader.delegateloading(abstractdelegatingsmartcontextloader.java:100) @ org.springframework.test.context.support.abstractdelegatingsmartcontextloader.loadcontext(abstractdelegatingsmartcontextloader.java:248) @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontextinternal(cacheawarecontextloaderdelegate.java:64) @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontext(cacheawarecontextloaderdelegate.java:91) ... 23 more caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'entitymanagerfactory' defined in class path resource [jpa-appcontext.xml]: invocation of init method failed; nested exception java.lang.illegalargumentexception: no persistence unit name 'defaultpersistenceunit' found @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1482) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:521) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:458) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:295) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:223) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:292) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:198) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.getbeansoftype(defaultlistablebeanfactory.java:438) @ org.springframework.beans.factory.beanfactoryutils.beansoftypeincludingancestors(beanfactoryutils.java:277) @ org.springframework.dao.support.persistenceexceptiontranslationinterceptor.detectpersistenceexceptiontranslators(persistenceexceptiontranslationinterceptor.java:139) @ org.springframework.dao.support.persistenceexceptiontranslationinterceptor.<init>(persistenceexceptiontranslationinterceptor.java:79) @ org.springframework.dao.annotation.persistenceexceptiontranslationadvisor.<init>(persistenceexceptiontranslationadvisor.java:70) @ org.springframework.dao.annotation.persistenceexceptiontranslationpostprocessor.setbeanfactory(persistenceexceptiontranslationpostprocessor.java:103) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeawaremethods(abstractautowirecapablebeanfactory.java:1502) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1470) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:521) ... 36 more caused by: java.lang.illegalargumentexception: no persistence unit name 'defaultpersistenceunit' found @ org.springframework.orm.jpa.persistenceunit.defaultpersistenceunitmanager.obtainpersistenceunitinfo(defaultpersistenceunitmanager.java:535) @ org.springframework.orm.jpa.localcontainerentitymanagerfactorybean.determinepersistenceunitinfo(localcontainerentitymanagerfactorybean.java:287) @ org.springframework.orm.jpa.localcontainerentitymanagerfactorybean.createnativeentitymanagerfactory(localcontainerentitymanagerfactorybean.java:239) @ org.springframework.orm.jpa.abstractentitymanagerfactorybean.afterpropertiesset(abstractentitymanagerfactorybean.java:310) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1541) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1479) ... 51 more java.lang.illegalstateexception: failed load applicationcontext @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontext(cacheawarecontextloaderdelegate.java:99) @ org.springframework.test.context.testcontext.getapplicationcontext(testcontext.java:122) @ org.springframework.test.context.web.servlettestexecutionlistener.setuprequestcontextifnecessary(servlettestexecutionlistener.java:105) @ org.springframework.test.context.web.servlettestexecutionlistener.preparetestinstance(servlettestexecutionlistener.java:74) @ org.springframework.test.context.testcontextmanager.preparetestinstance(testcontextmanager.java:312) @ org.springframework.test.context.junit4.springjunit4classrunner.createtest(springjunit4classrunner.java:211) @ org.springframework.test.context.junit4.springjunit4classrunner$1.runreflectivecall(springjunit4classrunner.java:288) @ org.junit.internal.runners.model.reflectivecallable.run(reflectivecallable.java:15) @ org.springframework.test.context.junit4.springjunit4classrunner.methodblock(springjunit4classrunner.java:284) @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:231) @ org.springframework.test.context.junit4.springjunit4classrunner.runchild(springjunit4classrunner.java:88) @ org.junit.runners.parentrunner$3.run(parentrunner.java:231) @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:60) @ org.junit.runners.parentrunner.runchildren(parentrunner.java:229) @ org.junit.runners.parentrunner.access$000(parentrunner.java:50) @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:222) @ org.springframework.test.context.junit4.statements.runbeforetestclasscallbacks.evaluate(runbeforetestclasscallbacks.java:61) @ org.springframework.test.context.junit4.statements.runaftertestclasscallbacks.evaluate(runaftertestclasscallbacks.java:71) @ org.junit.runners.parentrunner.run(parentrunner.java:300) @ org.springframework.test.context.junit4.springjunit4classrunner.run(springjunit4classrunner.java:174) @ org.junit.runner.junitcore.run(junitcore.java:157) @ com.intellij.rt.execution.junit.junitstarter.main(junitstarter.java:63) caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'org.springframework.dao.annotation.persistenceexceptiontranslationpostprocessor#0': initialization of bean failed; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'entitymanagerfactory' defined in class path resource [jpa-appcontext.xml]: invocation of init method failed; nested exception java.lang.illegalargumentexception: no persistence unit name 'defaultpersistenceunit' found @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:529) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:458) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:295) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:223) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:292) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:198) @ org.springframework.context.support.abstractapplicationcontext.registerbeanpostprocessors(abstractapplicationcontext.java:741) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:464) @ org.springframework.test.context.web.abstractgenericwebcontextloader.loadcontext(abstractgenericwebcontextloader.java:128) @ org.springframework.test.context.web.abstractgenericwebcontextloader.loadcontext(abstractgenericwebcontextloader.java:60) @ org.springframework.test.context.support.abstractdelegatingsmartcontextloader.delegateloading(abstractdelegatingsmartcontextloader.java:100) @ org.springframework.test.context.support.abstractdelegatingsmartcontextloader.loadcontext(abstractdelegatingsmartcontextloader.java:248) @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontextinternal(cacheawarecontextloaderdelegate.java:64) @ org.springframework.test.context.cacheawarecontextloaderdelegate.loadcontext(cacheawarecontextloaderdelegate.java:91) ... 23 more caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'entitymanagerfactory' defined in class path resource [jpa-appcontext.xml]: invocation of init method failed; nested exception java.lang.illegalargumentexception: no persistence unit name 'defaultpersistenceunit' found @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1482) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:521) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:458) @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:295) @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:223) @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:292) @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:198) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.getbeansoftype(defaultlistablebeanfactory.java:438) @ org.springframework.beans.factory.beanfactoryutils.beansoftypeincludingancestors(beanfactoryutils.java:277) @ org.springframework.dao.support.persistenceexceptiontranslationinterceptor.detectpersistenceexceptiontranslators(persistenceexceptiontranslationinterceptor.java:139) @ org.springframework.dao.support.persistenceexceptiontranslationinterceptor.<init>(persistenceexceptiontranslationinterceptor.java:79) @ org.springframework.dao.annotation.persistenceexceptiontranslationadvisor.<init>(persistenceexceptiontranslationadvisor.java:70) @ org.springframework.dao.annotation.persistenceexceptiontranslationpostprocessor.setbeanfactory(persistenceexceptiontranslationpostprocessor.java:103) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeawaremethods(abstractautowirecapablebeanfactory.java:1502) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1470) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:521) ... 36 more caused by: java.lang.illegalargumentexception: no persistence unit name 'defaultpersistenceunit' found @ org.springframework.orm.jpa.persistenceunit.defaultpersistenceunitmanager.obtainpersistenceunitinfo(defaultpersistenceunitmanager.java:535) @ org.springframework.orm.jpa.localcontainerentitymanagerfactorybean.determinepersistenceunitinfo(localcontainerentitymanagerfactorybean.java:287) @ org.springframework.orm.jpa.localcontainerentitymanagerfactorybean.createnativeentitymanagerfactory(localcontainerentitymanagerfactorybean.java:239) @ org.springframework.orm.jpa.abstractentitymanagerfactorybean.afterpropertiesset(abstractentitymanagerfactorybean.java:310) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1541) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1479) ... 51 more disconnected target vm, address: '127.0.0.1:42709', transport: 'socket' process finished exit code 255
updated #1
question: persistence.xml need in classpath? have no issue running application running junit test cased issue, junit test classpath different?
i ran maven debug, , see copied persistence.xml target location.
[debug] file persistence.xml has filtered file extension [debug] re-create /.../src/main/webapp/web-inf/classes/meta-inf/persistence.xml /.../target/classes/classes/meta-inf/persistence.xml
the unusual thing "/classes/classes/", right path?
updated#2 [solved kind of]
this link help. - in ide; create folder /webapp/web_inf/meta_inf/ , set persistence.xml there. maven re-create file ../target/classes/meta-inf/persistence.xml
java unit-testing jpa
No comments:
Post a Comment