[ 
https://issues.apache.org/jira/browse/OPENJPA-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13041600#comment-13041600
 ] 

Rick Curtis commented on OPENJPA-2003:
--------------------------------------

A little clarification.... Is the solution to this error moving the BaseEntity 
into the maven project, or including it in the <class> list in your p.xml?

Thanks,
Rick



> java.lang.NoClassDefFoundError: (initialization failure) raised when 
> @MappedSuperClass is present in a jar
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2003
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2003
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 1.2.2
>         Environment: Spring 3.0x, JUnit 4.4
>            Reporter: reverttoconsole
>
> I have a @MappedSuperclass BaseEntity (empty) that's include in a 
> common-utils.jar. In another maven project, I have JPA 1.0 entities which 
> extend BaseEntity. On running a unit test, I get the following error:
> Caused by: java.lang.NoClassDefFoundError: xxx.entity.ProfileLoadError 
> (initialization failure)
>       at java.lang.J9VMInternals.initialize(J9VMInternals.java:140)
>       at java.lang.Class.forNameImpl(Native Method)
>       at java.lang.Class.forName(Class.java:169)
>       at 
> org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1522)
>       at 
> org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1504)
>       at 
> org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesLocking(MetaDataRepository.java:1491)
>       at 
> org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1484)
>       at 
> org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:276)
>       at 
> org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:228)
>       at 
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:190)
>       at 
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>       at 
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>       at 
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)
>       at java.lang.reflect.Method.invoke(Method.java:612)
>       at 
> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.invokeProxyMethod(AbstractEntityManagerFactoryBean.java:423)
>       at 
> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:485)
>       at $Proxy21.createEntityManager(Unknown Source)
>       at 
> org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:234)
>       at $Proxy22.persist(Unknown Source)
>       at 
> org.frb.bos.tcms.profile.SeedData.afterPropertiesSet(SeedData.java:37)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
>       at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
>       ... 37 more
> If I move the BaseEntity into the maven project, I don't get this error.
> Turns out that the error is gone when I include BaseEntity in 
> persistence.xml. But it seems to me that this has to be documented clearly or 
> atleast the error message should be clearer because NoClassDefFoundError is 
> misleading. Maybe openjpa's classloader doesn't automatically scan the 
> classpath for the missing entities?
> I don't get this error in hibernate.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to