You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "reverttoconsole (JIRA)" <ji...@apache.org> on 2011/05/24 17:48:47 UTC
[jira] [Created] (OPENJPA-2003) java.lang.NoClassDefFoundError:
(initialization failure) raised when @MappedSuperClass is present in a jar
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
[jira] [Commented] (OPENJPA-2003) java.lang.NoClassDefFoundError:
(initialization failure) raised when @MappedSuperClass is present in a jar
Posted by "reverttoconsole (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-2003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13041602#comment-13041602 ]
reverttoconsole commented on OPENJPA-2003:
------------------------------------------
including the "class in the jar" (<class>) in the persistence.xml.
> 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
[jira] [Commented] (OPENJPA-2003) java.lang.NoClassDefFoundError:
(initialization failure) raised when @MappedSuperClass is present in a jar
Posted by "Rick Curtis (JIRA)" <ji...@apache.org>.
[ 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