2017-09-25 206 views
0

我试图从使用Maven maven-jaxb2-plugin的简单类型的基地int生成枚举。但是没有生成枚举。生成基地枚举int

我可以看到生成器正在使用绑定文件,因为如果找不到映射,它会引发错误。

当我将基数更改为string时,生成枚举(但我不允许更改基数)。

所以,我有一些配置错误,或者它根本不可能?

XSD的摘录:

<xs:simpleType name="codeType"> 
    <xs:restriction base="xs:int"> 
    <xs:enumeration value="200"/> 
    <xs:enumeration value="400"/> 
    </xs:restriction> 
</xs:simpleType> 

绑定文件摘录:

<jaxb:bindings schemaLocation="some.xsd"> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']/xs:restriction/xs:enumeration[@value='200']"> 
    <jaxb:typesafeEnumMember name="OK" /> 
    </jaxb:bindings> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']/xs:restriction/xs:enumeration[@value='400']"> 
    <jaxb:typesafeEnumMember name="BAD_REQUEST" /> 
    </jaxb:bindings> 
</jaxb:bindings> 

回答

0

我终于成功,所生成的枚举。

绑定文件摘录:

<jaxb:bindings schemaLocation="some.xsd"> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']"> 
    <jaxb:typesafeEnumClass> 
     <jaxb:typesafeEnumMember value="200" name="OK" /> 
     <jaxb:typesafeEnumMember value="400" name="BAD_REQUEST" /> 
    </jaxb:typesafeEnumClass> 
    </jaxb:bindings> 
</jaxb:bindings> 

详情请参阅https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Developing_Applications_Using_JAX-WS/files/JAXWSCustomTypeMappingEnum.html