Cannot get EclipseLink MOXy to work
You appear to have your jaxb.properties
file correct based on the exception message:
javax.xml.bind.JAXBException: Provider org.eclipse.persistence.jaxb.JAXBContextFactory not found
- with linked exception:
[java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory]
at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
To confirm that org.eclipse.persistence.jaxb.JAXBContextFactory
is on your classpath can you try:
JAXBContext jc = JAXBContextFactory.createContext("com.core.mymodel", null);
To do a more basic confirmation can you run:
System.out.println(org.eclipse.persistence.Version.getVersion());
For More Information
Related videos on Youtube
Comments
-
Khutsi almost 2 years
I'm new to JAXB and I want to change the default namespace prefix using EclipseLink MOXy. My package-info.java has the following code lines:
@javax.xml.bind.annotation.XmlSchema ( namespace="http://namespace.mysite.com/", xmlns = { @javax.xml.bind.annotation.XmlNs(prefix="myns", namespaceURI="http://namespace.mysite.com/") }, elementFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED ) package com.core.mymodel;
And my jaxb.properties file has the following line:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
I have added eclipselink.jar to the CLASSPATH, both package-info.java and jaxb.properties files are in the same package as my model classes, however, when I run the program I get the following error message:
javax.xml.bind.JAXBException: Provider org.eclipse.persistence.jaxb.JAXBContextFactory not found - with linked exception: [java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory] at javax.xml.bind.ContextFinder.newInstance(Unknown Source) at javax.xml.bind.ContextFinder.find(Unknown Source) at javax.xml.bind.JAXBContext.newInstance(Unknown Source) at javax.xml.bind.JAXBContext.newInstance(Unknown Source) at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
I have tried this with EclipseLink versions 2.3.0 and 2.0.2 and still got the same error message. Does anyone happen to know what could be the problem?
Many thanks in advance
-
Khutsi almost 13 yearsEclipse throws a compile error: JAXBContextFactory cannot to be resolved.
-
Khutsi almost 13 yearsI found the root of the problem. I added eclipselink.jar to the system classpath variable, however for some reason Eclipse wasn't able to find it. After adding it as a classpath variable to the Eclipse build path (Window -> Preferences -> Java -> Build Path -> Classpath Variables) and adding the classpath variable to the project's build path, I can now get the version of the installed EclipseLink.
-
Khutsi almost 13 yearsEclipseLink MOXy does work perfectly with this simple project. I can configure namespace prefixes using @XmlSchema annotations. In this case, the JAXBContext is created on a class. However, with a more complex project that creates the JAXBContext on a String context path, I get a runtime error message that looks something like this: <br/> 'at org.eclipse.persistence.internal.oxm.XMLCompositeObjectMappingNodeValue.marshalSingleValue(XMLCompositeObjectMappingNodeValue.java:176)' Any idea what could be the problem? Thanks for the help :-)
-
bdoughan almost 13 years@Khutsi - Could you open a bug for this issue, and we'll look into it: bugs.eclipse.org/bugs/enter_bug.cgi?product=EclipseLink