Один класс в одном пакете не привязывается к контексту JAXB

Использование JAXBContext.newInstance("com.jaxbgen") для связывания классов в этом пакете. А затем используйте этот контекст для создания mashaller.

Это так странно, что один класс сущностей xxx в этом пакете не смог создать mashaller, и сгенерировать исключение JAXBException, ни какой-либо из его суперклассов не известен в этом контексте. И другой работает хорошо.

Я пытаюсь использовать JAXBContext.newInstance(xxx.class) для инициализации контекста, он работает хорошо.

Но мне нужно использовать имя пакета, чтобы помешать все, что классифицируется в этом пакете.

Может ли кто-нибудь помочь мне в этом?

1 ответ

Решение

Когда имя пакета используется для создания JAXBContext JAXB подразумевает одно из следующих действий:

  • Ищет класс под названием ObjectFactory и затем транзитивно тянет во всех ссылочных классах.
  • Ищет текстовый файл с именем jaxb.index который содержит список коротких имен классов, разделенных символом возврата каретки (без указания пакета). Эти классы и все ссылочные классы обрабатываются.
Другие вопросы по тегам