繁体   English   中英

通常更改JaxB类名映射

[英]generally change JaxB class name mapping

我有一个相当大的xsd ,可以使用org.jvnet.jaxb2.maven2.maven-jaxb2-plugin从其中生成JaxB类。 元素名称均为大写字母,由下划线分隔,例如FOO_BAR_BAZ 这会导致生成的类(例如FOOBARBAZ名称FOOBARBAZ 从概念上讲,我希望将其映射到FooBarBaz <jxb:class>元素扩展定义不是一种选择。

有没有一种通用的方法可以覆盖jaxb如何将元素名称映射到Java类名称?

对于此用例,您可以研究创建一个自定义XJC插件以自定义Java类名的派生方式。

您可以使用一个外部绑定声明文件,一个包含以下内容的.xjb文件:

<jxb:bindings node="//xs:element[@name='FOO_BAR_BAZ']">
    <jxb:class name="FooBarBaz"/>
    <jxb:property name="FooBarBaz"/>
</jxb:bindings>

但是对于所有要生成的类,您都必须这样做。 您可能还必须配置Maven插件的bindingDirectory属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM