Вам всегда нужен класс ObjectFactory при использовании JAXB?

Вам всегда нужен класс ObjectFactory при использовании JAXB?

Без него я получаю это исключение:

javax.xml.bind. JAXBException: "com.a.b.c" не содержит ObjectFactory.class или jaxb.index

Я заключаю, что ObjectFactory может быть излишеством. Но, учитывая это исключение я предполагаю, что Вам нужно оно.. но не уверенный, почему?

18
задан Community 23 May 2017 в 10:32
поделиться

2 ответа

Это исключение возникает при использовании фабричного метода JAXBContext.newInstance (String) , в котором имя пакета передается в качестве аргумент. Этот действительно требует наличия ObjectFactory , иначе JAXB не знает, какие классы обрабатывать.

Если у вас нет ObjectFactory , вам нужно вместо этого JAXBContext.newInstance (Class ...) , передав явный список аннотированных классов для добавления в контекст.

22
ответ дан 30 November 2019 в 07:38
поделиться

Вместо ObjectFactory вы можете включить файл jaxb.index, который представляет собой текстовый файл, содержащий список классов Java, разделенных новой строкой.

Пример использования файла jaxb.index см .:

11
ответ дан 30 November 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: