[
https://issues.apache.org/jira/browse/OPENJPA-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Richard Zowalla resolved OPENJPA-2003.
--------------------------------------
Resolution: Won't Fix
Closing as obsolete during backlog cleanup: the error is the user's entity
class failing static init on IBM J9 with 1.2.2/JPA 1.0, raised from
Class.forName; there is no repro, and nothing points at OpenJPA code that is
still the same. Please reopen if this still happens with OpenJPA 4.x.
> 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
> Priority: Major
>
> 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 was sent by Atlassian Jira
(v10.3.26#10030026)