ERROR - JAXB - Exception in thread "main" com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: n counts of IllegalAnnotationExceptions is a non-static inner class, and JAXB can't handle those.

Error

Exception in thread "main" com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: n counts of IllegalAnnotationExceptions <InnerClass Name> is a non-static inner class, and JAXB can't handle those. 
      this problem is related to the following location:

Error Type

RunTime


Cause

JAXB cannot handle non static inner classes


Sample Code

@AutoProperty
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class OuterClass {

     public class InnerClass {
     }

    @XmlElement
    private List<InnerClass> innerClasses;


OuterClass.InnerClass = new OuterClass.InnerClass(); // this line gives error

Resolution

Either make the inner class as static inner class

public class OuterClass {

     public static class InnerClass {
     }

     @XmlElement
    private List<InnerClass> innerClasses;


Or 

Move the Inner class as an independent outer class

public class InnerClass {
}

public class OuterClass {
     @XmlElement
    private List<InnerClass> innerClasses;