Tutorial :How do I use a jaxb.index file?


I'm getting

javax.xml.bind.JAXBException: "org.example.mypackage" doesnt contain ObjectFactory.class or jaxb.index  

while trying to create a JAXBContext using JAXBContext.newInstance(String contextPath). I'm guessing there's a "usual" way to create and maintain a jaxb.index file.


The jaxb.index file is just a listing of the classes in the containing package that have JAXB annotations.

Each line in the file is a class's simple name, not its fully qualified name.

You can read more here: http://cmaki.blogspot.com/2007/09/annotated-jaxb-classes.html


Try this way,

JAXBContext context = JAXBContext.newInstance(new Class[] {your.package.Test.class});  

Also, make sure that you added the @XmlRootElement to the Test class.

@XmlRootElement  class Test {    private String ...;    private int ......;  }  

also make sure that you are using java 1.5


Make sure you're passing the correct class to the method. Assuming your XML root element is XMLRoot, you would call it as:

JAXBContext context = JAXBContext.newInstance(XMLRoot.class);  

Also make sure that you're using the correct version of the JAXB compiler (xjc) for the version of Java you're running. JAXB-generated classes from the old compiler won't work properly with Java 6's JAXB, giving the same error.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »