JavassistLazyInitializer is not able to load org.hibernate.proxy.HibernateProxy in EAP6

Solution Unverified - Updated -

Issue

  • While migrating application from previous JBoss release to EAP6 following error is encountered:

  • When using JPA annotations with Hibernate in JBoss Fuse 6.0, we get the follow error:

15:48:28,867 ERROR [org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer] (MSC service thread 1-4) HHH000142: Javassist Enhancement failed: com.test.TestPersisteceLocal: java.lang.RuntimeException: by java.lang.NoClassDefFoundError: org/hibernate/proxy/HibernateProxy
        at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:510)
        at javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:487)
        at javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:423)
        at javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:395)
        at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxyFactory(JavassistLazyInitializer.java:163)
        at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.postInstantiate(JavassistProxyFactory.java:66)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:221)
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:212)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:82)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_15]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_15]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_15]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525) [rt.jar:1.7.0_15]
        at org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:135)
        at org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:188)
        at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:341)
        at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:505)
        at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:146)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_15]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_15]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_15]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525) [rt.jar:1.7.0_15]
        at org.hibernate.persister.internal.PersisterFactoryImpl.create(PersisterFactoryImpl.java:163)
        at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:135)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:381)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1746)
        .
        .
        .
Caused by: javassist.CannotCompileException: by java.lang.NoClassDefFoundError: org/hibernate/proxy/HibernateProxy
        at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:170)
        at javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:502)
        ... 38 more
Caused by: java.lang.NoClassDefFoundError: org/hibernate/proxy/HibernateProxy
        at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_15]
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [rt.jar:1.7.0_15]
        at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) [:1.7.0_15]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_15]
        at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_15]
        at javassist.util.proxy.FactoryHelper.toClass2(FactoryHelper.java:182)
        at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:164)
        ... 39 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.proxy.HibernateProxy from [Module "deployment.TestEARApp.ear.TestEJBOne.jar:main" from Service Module Loader]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
        ... 46 more

  • Even if the EAR has the following kind of "META-INF/jboss-deployment-structure.xml" file still the above exception is encountered:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
    <deployment>
        <dependencies>
            <system export="true">
                <paths>
                    <path name="sun/security/action"/>
                </paths>
            </system>
    <module name="org.apache.commons.collections"/> 
    <module name="org.hibernate.commons-annotations"/> 
    <module name="org.dom4j"/> 
    <module name="org.javassist"/> 
    <module name="org.hibernate"/> 
        </dependencies>
    </deployment>
</jboss-deployment-structure>

Environment

  • JBoss Enterprise Application Platform (EAP) 6
  • JBoss Fuse (Fuse) 6.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content