Один класс в одном пакете не привязывается к контексту JAXB
Использование JAXBContext.newInstance("com.jaxbgen") для связывания классов в этом пакете. А затем используйте этот контекст для создания mashaller.
Это так странно, что один класс сущностей xxx в этом пакете не смог создать mashaller, и сгенерировать исключение JAXBException, ни какой-либо из его суперклассов не известен в этом контексте. И другой работает хорошо.
Я пытаюсь использовать JAXBContext.newInstance(xxx.class) для инициализации контекста, он работает хорошо.
Но мне нужно использовать имя пакета, чтобы помешать все, что классифицируется в этом пакете.
Может ли кто-нибудь помочь мне в этом?
1 ответ
Решение
Когда имя пакета используется для создания JAXBContext
JAXB подразумевает одно из следующих действий:
- Ищет класс под названием
ObjectFactory
и затем транзитивно тянет во всех ссылочных классах. - Ищет текстовый файл с именем
jaxb.index
который содержит список коротких имен классов, разделенных символом возврата каретки (без указания пакета). Эти классы и все ссылочные классы обрабатываются.