[英]How to generate classes from XSD that implements serializable?
我需要在包(.jar)中從我的XML Schema(XSD)生成許多類。 如何將這些類配置為可序列化?
(我正在使用Eclipse和JAX-B)
如果您正在使用XJC,我建議您閱讀此參考: 用於XML綁定的JavaTM體系結構:JAXB RI供應商擴展自定義 :
您必須添加架構aditional命名空間定義以添加xjc aditional標記:
<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">
然后,在<jaxb:globalBindings>
包含<xjc:serializable>
節點:
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings generateIsSetMethod="true">
<xjc:serializable uid="12343"/>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
這將導致所有具體類實現Serializable接口。 此外,您可以定義結果類的UUID值(這是一個可選屬性)。
我發現了
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.