![](/img/trans.png)
[英]Single Element Name mapping for all instances of a java class using 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.