Поработав над этим вопросом, я подумал, что пойду погреться и оставлю несколько быстрых мыслей.К сожалению, похоже, что это общая ошибка.Из того, что я могу сказать, нет общего списка ошибок для этих исключений, потому что это должно быть универсальным исключением, когда все остальное терпит неудачу.Однако вот несколько моментов, с которыми я столкнулся при работе над моим проектом:
При работе с JAXB убедитесь, что у всех желаемых классов, которые вы надеетесь маршалировать, есть пустой конструктор аргументов по умолчанию.Я предполагаю, что JAXB просто нужно выполнить некоторые базовые операции POJO, и без конструктора без аргументов это было бы невозможно.
public class A {
public A(){}
}
Другая проблема, с которой я столкнулся, связана с наследованием.Многие из предыдущих объектов наследовали от абстрактного класса, который содержал общие поля.Однако этот абстрактный класс не был напрямую частью иерархии XML.Казалось, что включение абстрактного класса в качестве суперкласса приводит к исключению IllegalAnnotationsException.Поэтому, если класс B является частью структуры XML, НЕ делайте следующее:
public abstract class A {
...
}
public class B extends A {
}
И, наконец, исключение IllegalAnnotationsException можно использовать за неправильное использование аннотации JAXB.При получении вышеупомянутого исключения дважды проверьте, чтобы убедиться, что вы аннотируете предполагаемые поля и классы.Поскольку я новичок в JAXB, я столкнулся с этими проблемами.Вы можете найти документацию JAXB на веб-сайте Oracle: https://docs.oracle.com/javase/8/docs/technotes/guides/xml/jaxb/index.html
Я надеюсь, что эта информация поможет хотя бы нескольким людям.По крайней мере, это последний вопрос переполнения стека без ответа.