Java xjc无法正确处理下划线

Java xjc无法正确处理下划线,java,jaxb,xjc,Java,Jaxb,Xjc,非常简单的用例。将以下XSD转换为java: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="Foo_Bar"> <xs:sequence> <xs:element name

非常简单的用例。将以下XSD转换为java:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="Foo_Bar">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="choices" type="TypeMyEnum" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="TypeMyEnum">
      <xs:restriction base="xs:string">
          <xs:enumeration value="ALPHA_1_0_0"/>
          <xs:enumeration value="BETA_2_0_0"/>
      </xs:restriction>
  </xs:simpleType> 
</xs:schema>
要在Foo_栏中恢复下划线,我必须使用绑定文件,如下所示:

<jxb:bindings version="1.0"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb">
    <jxb:globalBindings underscoreBinding="asCharInWord"/>
</jxb:bindings>
枚举值中的每个下划线似乎都更改为三个下划线。这很容易复制,我也不明白为什么xjc会这样做


有没有办法让xjc在类名(即Foo_Bar.java)中保留下划线并生成sane枚举文件?我不想涉足为模式中的每个枚举生成特定绑定的业务。

您解决了这个问题吗?
<jxb:bindings version="1.0"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb">
    <jxb:globalBindings underscoreBinding="asCharInWord"/>
</jxb:bindings>
@XmlEnumValue("ALPHA_1_0_0")
ALPHA___1___0___0("ALPHA_1_0_0"),
@XmlEnumValue("BETA_2_0_0")
BETA___2___0___0("BETA_2_0_0");
private final String value;