Подтвердить что ты не робот

Где включить файл jaxb.properties?

У меня есть веб-сервис REST (Jersey), который использует некоторые объекты данных, которые сортируются/немаршируются в/из XML. Объекты данных находятся в отдельном проекте/банке, от которого зависит война веб-сервисов.

Я использую MOXy в качестве моей реализации JAXB, так как я использую Glassfish и уже включен. Я знаю, что мне нужен файл jaxb.properties, чтобы установить реализацию JAXB в MOXy с этой записью:

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory

Вопрос в том, должен ли файл jaxb.properties быть включен в объект объекта данных или в войну webservice или оба?

4b9b3361

Ответ 1

Вы упаковываете файл jaxb.properties с помощью классов моделей. GlassFish пока не включает MOXy bundle, но вы можете легко добавить его. Зайдите в мой блог для получения дополнительной информации:

Ответ 2

Если вы не хотите или не можете использовать jaxb.properties(у вас много пакета, модель находится во внешнем банке, вам нужны только java и файлы конфигурации...), вы можете напрямую указать JaxbContextFactory:

Не создавайте контекст, используя:

JAXBContext jaxbContext = JAXBContext.newInstance(new Class[]{Person.class, ObjectFactory.class}, properties);

Вместо этого укажите factory для использования:

JAXBContext jaxbContext = JAXBContextFactory.createContext(new Class[]{Person.class, ObjectFactory.class}, properties);

где factory:

import org.eclipse.persistence.jaxb.JAXBContextFactory;

Это точно то же самое, но явно указывается в java-коде вместо неявно в файле конфигурации.