代码之家  ›  专栏  ›  技术社区  ›  ip696

由于XSD(JAXB类)中的西里尔字母sympol,代码不完整[重复]

  •  0
  • ip696  · 技术社区  · 6 年前

    我有一个 XSD schema 错误-在一种方法中,utf-8中的第一个符号 'с'

    <xsd:attribute name="сreationDate" type="xsd:dateTime" use="required">
    

    我从这个XSD生成Java类。但当我在project中调用此方法时,例如:

    quittanceType.setСreationDate(stringToXMLGregorianCalendar(new Date));
    

    我的项目未编译,出现错误:

    错误:找不到符号

        quittanceType.setСreationDate(stringToXMLGregorianCalendar(paymentsToCharge.getCreationDateStr()));
                         ^
      symbol:   method setСreationDate(XMLGregorianCalendar)
      location: variable quittanceType of type QuittanceType
    

    但在Macbook上,这个项目编译成功。我该怎么办?一切似乎都是正常的编码。

    0 回复  |  直到 6 年前
        1
  •  0
  •   lexicore    6 年前

    最好使用绑定文件指定Java属性名。

    <jaxb:bindings
        version="1.0"
        xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
        xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
        <jaxb:bindings 
            schemaLocation=".../myschema.xsd" 
            node="/xs:schema">
    
            <jaxb:bindings node="xs:complexType[@name='SomeType']/xs:attribute[@name='сreationDate']">
                <jaxb:property name="creationDate"/>
            </jaxb:bindings>
        </jaxb:bindings>
    
    </jaxb:bindings>
    

    我还通知了模式作者,以防他们想纠正这一点。