Necesito generar muchas clases de mi esquema XML (XSD) en un paquete (.jar). ¿Cómo puedo configurar estas clases para que sean serializables?¿Cómo generar clases desde XSD que implemente serializable?
(estoy usando Eclipse y JAX-B)
Necesito generar muchas clases de mi esquema XML (XSD) en un paquete (.jar). ¿Cómo puedo configurar estas clases para que sean serializables?¿Cómo generar clases desde XSD que implemente serializable?
(estoy usando Eclipse y JAX-B)
Si está utilizando XJC, te recomiendo leer esta referencia: JavaTM Architecture for XML Binding: JAXB RI Vendor Extensions Customizations:
Hay que añadir en su esquema de espacios de nombres Adicionales definición añadir xjc marcado Adicional:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
jaxb:version="1.0">
Entonces, incluyendo un nodo de <xjc:serializable>
dentro <jaxb:globalBindings>
:
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings generateIsSetMethod="true">
<xjc:serializable uid="12343"/>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
Esto hará que todas las clases concretas implementen la interfaz Serializable. Además, puede definir el valor de UUID de las clases resultantes (que es un atributo opcional).
que he encontrado
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
jaxb:version="1.0"
>
<!-- FORCE ALL CLASSES IMPLEMENTS SERIALIZABLE -->
<annotation>
<appinfo>
<jaxb:globalBindings generateIsSetMethod="true">
<xjc:serializable uid="1"/>
</jaxb:globalBindings>
</appinfo>
</annotation>
....
</schema>
duplicado exacto de [Cómo generar una clase Java que implementa la interfaz Serializable de xsd utilizando JAXB?] (Http://stackoverflow.com/questions/1513972/how-to -generate-a-java-class-which-implements-serializable-interface-from-xsd-usi) –
@pascal: lo siento, no vi esa pregunta antes de – Topera
No hay problema. Pero aún así, es un tonto :) –