hibernate - Centos JBOSS deploy war file fail, cannot load the persistence.xml. Working on Windows 7 but not centos -
i have spent 2 days still can't solve problem.
my problem i have war file using jpa , hibernate. when deploy on windows jboss 7.1.1 works prefect. however, when deployed on centos 5.8 jboss 7.1.1 throws exception. root cause common: caused by: javax.persistence.persistenceexception: no persistence provider entitymanager named xx
i have no idea why works differently in 2 os. having jdk7 update 21 on both machines.
development machine: windows 7(64bit), eclipse ide, jdk7_21 deployment machine: centos 5.8(64bit),
i have try using
classloader loader = thread.currentthread().getcontextclassloader(); enumeration<url> resources1 = loader.getresources("/meta-inf/persistence.xml"); url seurl = resources1.nextelement();
however, works on windows 7, on centos didn't persistence.xml , throws nosuchelement exception when calling .nextelement(). have place meta-inf folder resoures , when deployed placed in location xx.war/web-inf/classes/meta-inf/persistence.xml.
can me find out going wrong? many thanks.
i post exception thrown well:
19:26:30,685 error [org.apache.catalina.core.containerbase.[jboss.web].[default-host].[/bms]] (msc service thread 1-2) exception sending context initialized event listener instance of class org.springframework.web.context.contextloaderlistener: org.springframework.beans.factory.beancreationexception: error creating bean name 'hrbean': injection of persistence dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'entitymanagerfactory' defined in servletcontext resource [/web-inf/spring-context.xml]: invocation of init method failed; nested exception javax.persistence.persistenceexception: no persistence provider entitymanager named shundebuspersistenceunit @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.postprocesspropertyvalues(persistenceannotationbeanpostprocessor.java:343) [spring-orm-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1122) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:522) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:461) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:295) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:223) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:292) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:194) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:626) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:932) [spring-context-3.2.2.release.jar:3.2.2.release] @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:479) [spring-context-3.2.2.release.jar:3.2.2.release] @ org.springframework.web.context.contextloader.configureandrefreshwebapplicationcontext(contextloader.java:389) [spring-web-3.2.2.release.jar:3.2.2.release] @ org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader.java:294) [spring-web-3.2.2.release.jar:3.2.2.release] @ org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener.java:112) [spring-web-3.2.2.release.jar:3.2.2.release] @ org.apache.catalina.core.standardcontext.contextlistenerstart(standardcontext.java:3392) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.standardcontext.start(standardcontext.java:3850) [jbossweb-7.0.13.final.jar:] @ org.jboss.as.web.deployment.webdeploymentservice.start(webdeploymentservice.java:90) [jboss-as-web-7.1.1.final.jar:7.1.1.final] @ org.jboss.msc.service.servicecontrollerimpl$starttask.startservice(servicecontrollerimpl.java:1811) @ org.jboss.msc.service.servicecontrollerimpl$starttask.run(servicecontrollerimpl.java:1746) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) [rt.jar:1.7.0_21] @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) [rt.jar:1.7.0_21] @ java.lang.thread.run(thread.java:722) [rt.jar:1.7.0_21] caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'entitymanagerfactory' defined in servletcontext resource [/web-inf/spring-context.xml]: invocation of init method failed; nested exception javax.persistence.persistenceexception: no persistence provider entitymanager named shundebuspersistenceunit @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1488) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:524) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:461) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:295) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:223) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:292) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:194) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.finddefaultentitymanagerfactory(persistenceannotationbeanpostprocessor.java:531) [spring-orm-3.2.2.release.jar:3.2.2.release] @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.findentitymanagerfactory(persistenceannotationbeanpostprocessor.java:497) [spring-orm-3.2.2.release.jar:3.2.2.release] @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor$persistenceelement.resolveentitymanager(persistenceannotationbeanpostprocessor.java:660) [spring-orm-3.2.2.release.jar:3.2.2.release] @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor$persistenceelement.getresourcetoinject(persistenceannotationbeanpostprocessor.java:631) [spring-orm-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.annotation.injectionmetadata$injectedelement.inject(injectionmetadata.java:150) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.annotation.injectionmetadata.inject(injectionmetadata.java:87) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.orm.jpa.support.persistenceannotationbeanpostprocessor.postprocesspropertyvalues(persistenceannotationbeanpostprocessor.java:340) [spring-orm-3.2.2.release.jar:3.2.2.release] ... 21 more caused by: javax.persistence.persistenceexception: no persistence provider entitymanager named shundebuspersistenceunit @ javax.persistence.persistence.createentitymanagerfactory(persistence.java:69) [hibernate-jpa-2.0-api-1.0.1.final.jar:1.0.1.final] @ org.springframework.orm.jpa.localentitymanagerfactorybean.createnativeentitymanagerfactory(localentitymanagerfactorybean.java:94) [spring-orm-3.2.2.release.jar:3.2.2.release] @ org.springframework.orm.jpa.abstractentitymanagerfactorybean.afterpropertiesset(abstractentitymanagerfactorybean.java:310) [spring-orm-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1547) [spring-beans-3.2.2.release.jar:3.2.2.release] @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1485) [spring-beans-3.2.2.release.jar:3.2.2.release] ... 34 more
ok.. have solved own problem , silly stupid answer.
windows can understand , treat capital letters, persistence.xml equivalent persistence.xml. while in unix/linux not.
so answer change file name persistence.xml persistence.xml.
t_t
Comments
Post a Comment