开发者

JAXB: Prevent classes from being regenerated

开发者 https://www.devze.com 2023-03-23 18:09 出处:网络
I\'m having troubles keeping classes from being regenerated. I\'m I have a sch开发者_Go百科ema A, which is imported in schema B. Schema B is then imported in Schema C.

I'm having troubles keeping classes from being regenerated. I'm

I have a sch开发者_Go百科ema A, which is imported in schema B. Schema B is then imported in Schema C.

In schema A, I have two simpleTypes, which are enumerations of strings:

<xs:simpleType name="blah_type">
<xs:restriction base="xs:string">
        <xs:enumeration value="blah_1"/>
        <xs:enumeration value="blah_2"/>
        <xs:enumeration value="blah_3"/>
        <xs:enumeration value="blah_4"/>
        <xs:enumeration value="blah_5"/>
    </xs:restriction>
</xs:simpleType>


<xs:simpleType name="another_blah_type">
    <xs:restriction base="xs:string">
        <xs:enumeration value="another_blah_1"/>
        <xs:enumeration value="another_blah_2"/>
        <xs:enumeration value="another_blah_3"/>
        <xs:enumeration value="another_blah_4"/>
        <xs:enumeration value="another_blah_5"/>
    </xs:restriction>
</xs:simpleType>

Theses produces generated classes. In schema C, the classes corresponding to these enumerations keep being regenerated, and of course in the wrong place. I'm adding references to existing classes this way : (jaxb-creating-modules-for-reuse)

<jaxb:bindings  node="//xs:simpleType[@name='blah_type']">
    <jaxb:class ref="com.stuff.otherstuff.really.deep.BlahType"/>
</jaxb:bindings>

I have other types (complexTypes, and non enumeration simpleTypes) for which everything is fine.

Thanks for your help.


You can use episode files to do modular schema compilation:

  • JAXB - Creating modules for reuse
  • http://weblogs.java.net/blog/kohsuke/archive/2006/09/separate_compil.html?force=741
0

精彩评论

暂无评论...
验证码 换一张
取 消