properties jaxb eclipselink moxy

¿Dónde incluir el archivo jaxb.properties?



eclipselink moxy (2)

Usted empaqueta el archivo jaxb.properties con sus clases modelo. GlassFish aún no incluye el paquete MOXy, pero puede agregarlo fácilmente. Mira mi blog para más información:

Tengo el servicio web REST (Jersey) que hace uso de algunos objetos de datos que están organizados / no asignados a / desde XML. Los objetos de datos están en un proyecto / jar separado del que depende la guerra del servicio web.

Estoy usando MOXy como mi implementación de JAXB desde que estoy implementando en Glassfish y eso ya está incluido. Sé que necesito un archivo jaxb.properties para establecer la implementación de JAXB en MOXy con esta entrada:

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

La pregunta es, ¿debería incluirse el archivo jaxb.properties en el contenedor de objetos de datos o en la guerra del servicio web o en ambos?


Si no quiere o no puede usar jaxb.properties (tiene mucho paquete, el modelo está en un contenedor externo, solo desea Java y no tiene archivos de configuración ...), puede especificar directamente JaxbContextFactory:

No crees el contexto usando:

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

Pero en su lugar, especifique la fábrica para usar:

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

donde está la fábrica:

import org.eclipse.persistence.jaxb.JAXBContextFactory;

Es exactamente lo mismo, pero está especificado explícitamente en el código java en lugar de implícitamente en un archivo de configuración.