0

I'm having this issue marshaling with an oxm xml meta data defined object graph

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement not found by   org.eclipse.persistence.core [142]   at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl
.java:1532)     at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)    at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.jav
a:1955)

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBElement
    at org.eclipse.persistence.internal.oxm.ChoiceUnmarshalContext.getValue(ChoiceUnmarshalContext.java:70)

Without using an external defined oxm object graph it works..

I'm using the classloader to load the xml file from meta-inf

URL resource1 = this.getClass().getClassLoader().getResource("META-INF/contactsimpleoxm.xml");
URL resource2 = this.getClass().getClassLoader().getResource("META-INF/graph2oxm.xml");

I downloaded eclipselink-plugins-2.5.2.v20140319-9ad6abd.zip. and copied the files:

cp org.eclipse.persistence.antlr_3.2.0.v201302191141.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.antlr.jar 
cp org.eclipse.persistence.asm_3.3.1.v201302191223.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.asm.jar 
cp org.eclipse.persistence.core_2.5.2.v20140319-9ad6abd.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.core.jar 
cp org.eclipse.persistence.dbws_2.5.2.v20140319-9ad6abd.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.dbws.jar 
cp org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.jpa.jpql.jar 
cp org.eclipse.persistence.jpa_2.5.2.v20140319-9ad6abd.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.jpa.jar 
cp org.eclipse.persistence.moxy_2.5.2.v20140319-9ad6abd.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.moxy.jar 
cp org.eclipse.persistence.oracle_2.5.1.v20130618-75cdba2.jar /opt/glassfish4/glassfish/modules/org.eclipse.persistence.oracle.jar 
cp javax.persistence_2.1.0.v201304241213.jar /opt/glassfish4/glassfish/modules/javax.persistence.jar 

I cleared the osgi-cache and restated glssfgish. The eclipse version reports correctly as 2.5.2

user993553
  • 1,077
  • 5
  • 12
  • My mistake, the oxm redefined a xml element. But still a weird error message. – user993553 Oct 14 '14 at 08:36
  • Actually any use of xml-element causes this – user993553 Oct 14 '14 at 12:52
  • 1
    I was faced with the same issue and had to declare the package `javax.xml.bind` as bootdelegated. The problem is that org.eclipse.persistence.core_2.5.2 is missing the entry `javax.xml.bind` in its `Import-Package`. My problem is stated here: http://stackoverflow.com/questions/27621064/eclipselink-core-2-5-2-missing-import-package-javax-xml-bind and a bug report is submitted here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=456174. – Herr-Herner Dec 25 '14 at 15:36

1 Answers1

0

I fixed this in EclipseLink 2.5.3. Thanks for reporting the issue.

marcelv3612
  • 663
  • 4
  • 10