我遇到了CXF问题。我在xsd中得到了以下枚举,该枚举生成为java:
<xs:simpleType name="EnumCodeDetailActionFonctionnelle">
<xs:restriction base="xs:string">
[many more]
<xs:enumeration value="RET_PIE"/>
<xs:enumeration value="RET_PI4"/>
<xs:enumeration value="RET_PI2"/>
<xs:enumeration value="RET_PI1"/>
<xs:enumeration value="RES_COU"/>
<xs:enumeration value="RES_AFF"/>
<xs:enumeration value="REP_AFF"/>
<xs:enumeration value="REN_REP"/>
<xs:enumeration value="REL_PI2"/>
<xs:enumeration value="REL_PI1"/>
<xs:enumeration value="RELANCE"/>
[many more]
</xs:restriction>
</xs:simpleType>
但这是生成的代码:
@XmlEnum
public enum EnumCodeDetailActionFonctionnelle {
[many more]
RET_PIE("RET_PIE"),
@XmlEnumValue("RET_PI4")
RET_PI_4("RET_PI4"),
@XmlEnumValue("RET_PI2")
RET_PI_2("RET_PI2"),
@XmlEnumValue("RET_PI1")
RET_PI_1("RET_PI1"),
RES_COU("RES_COU"),
RES_AFF("RES_AFF"),
REP_AFF("REP_AFF"),
REN_REP("REN_REP"),
@XmlEnumValue("REL_PI2")
REL_PI_2("REL_PI2"),
@XmlEnumValue("REL_PI1")
REL_PI_1("REL_PI1"),
RELANCE("RELANCE"),
[many more]
}
为什么代码上的每个数字前面都有下划线,例如:RET_PI_4("RET_PI4")?有办法摆脱它吗?
Thx;)
它肯定与JAXB有关:http://cxf.547215.n5.nabble.com/weird-enum-names-tt5715788.html#a5716086
解决方案:https://stackoverflow.com/a/7175896/1478667