When deploying an application in Weblogic you can come across a HibernateĀ CoreMessageLogger NoClassDefFoundError on Weblogic:
Caused By: java.lang.NoClassDefFoundError: org/hibernate/internal/CoreMessageLogger at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:342) at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:301) at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:178) at org.hibernate.ejb.Ejb3Configuration.(Ejb3Configuration.java:142) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72) at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:446) at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:439) at weblogic.persistence.BasePersistenceUnitInfo.init(BasePersistenceUnitInfo.java:117) at weblogic.persistence.BaseJPAIntegrationProvider.createPersistenceUnitInfo(BaseJPAIntegrationProvider.java:53) at weblogic.persistence.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:404) at weblogic.persistence.EarPersistenceUnitRegistry.initialize(EarPersistenceUnitRegistry.java:72) at weblogic.persistence.PersistenceDeployment$PersistenceDeploymentExtension.prepare(PersistenceDeployment.java:81) at weblogic.application.internal.flow.AppDeploymentExtensionFlow.prepare(AppDeploymentExtensionFlow.java:23) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237) at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:229) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
SolvingĀ CoreMessageLogger NoClassDefFoundError
This problem can occur when you have a Hibernate 3.x and a Hibernate 4.x dependency in your classpath, and the Hibernate 3 dependency was first on your classpath.
Look in your Maven Dependency hierarchy to see where the Hibernate 3 / 4 dependencies come from and solve it by eg. excluding transitive dependencies in your POM.