Top*_*era 12 java eclipse serialization xsd jaxb
I need to generate many classes from my XML Schema (XSD) in a package (.jar). How can I configure these classes to be serializable?
(I'm using Eclipse and JAX-B)
Tom*_*ros 22
如果您正在使用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">
Run Code Online (Sandbox Code Playgroud)
然后,包括一个<xjc:serializable>节点<jaxb:globalBindings>:
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings generateIsSetMethod="true">
<xjc:serializable uid="12343"/>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
Run Code Online (Sandbox Code Playgroud)
这将导致所有具体类实现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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26116 次 |
| 最近记录: |