如何更改JAXB生成的列表的名称

如何更改JAXB生成的列表的名称,jaxb,xsd,Jaxb,Xsd,我有一个xsd,我正在使用它使用JAXB在Java中生成一个对象模型,我希望它生成的列表被重命名为xyzList而不是xyz。有没有一种方法可以做到这一点,而不必为每个列表在绑定文件中添加条目 例如,此xsd片段: <xs:element name="RegulatoryEL" minOccurs="0" maxOccurs="unbounded"> 生成以下内容: protected List<RegulatoryEL> RegulatoryEL; protec

我有一个xsd,我正在使用它使用JAXB在Java中生成一个对象模型,我希望它生成的列表被重命名为xyzList而不是xyz。有没有一种方法可以做到这一点,而不必为每个列表在绑定文件中添加条目

例如,此xsd片段:

<xs:element name="RegulatoryEL" minOccurs="0" maxOccurs="unbounded">

生成以下内容:

protected List<RegulatoryEL> RegulatoryEL;
protectedlist RegulatoryEL;
但我想要的是:

protected List<RegulatoryEL> RegulatoryELList;
protectedlist RegulatoryELList;
JAXB(JSR-222)没有提供全局设置来控制如何为可能多次出现的元素生成字段/属性名。使用标准配置,您将需要使用外部绑定文件对每个元素执行此操作


要以更通用的方式执行此操作,您可以创建自己的XJC扩展:


对于操纵名称,您可以使用插件并注册自己的名称转换器。例如,看看


您可以在下面的答案中找到作者的详细解释:

除非我不想要复数名称,因为这只是添加到绑定文件中的一种情况