ошибка: не удается найти символ при вызове методов класса JAXB с символом кириллицы - PullRequest
0 голосов
/ 22 ноября 2018

У меня XSD schema с ошибкой - в одном методе первый символ в utf-8 'с'

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

Я генерирую Java-классы из этого XSD.Но когда я вызываю этот метод в проекте, например:

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

Мой проект не компилируется, и я получаю ошибку:

ошибка: не удается найти символ

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

Но на Macbook этот проект успешно компилируется.Что я должен делать?Кажется, что все нормальные кодировки.

1 Ответ

0 голосов
/ 24 ноября 2018

Вам лучше указать имя свойства 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>

Я также уведомил бы авторов схемы - на случай, если они захотят это исправить.

...