2016-12-07 2 views
1

Я использую схему XML для генерации классов JAXB. Часть моей схемы использует встроенный javaType переназначить dateTime типа в java.util.Calendar, как показано ниже:JAXB javaType переопределить, но XmlJavaTypeAdapter Adapter1 не может быть разрешен

<element name="lastChangedDate" type="dateTime" minOccurs="1" maxOccurs="1" nillable="false" id="lastChangedDate"> 
    <annotation> 
     <appinfo> 
      <jxb:javaType 
       name="java.util.Calendar" 
       parseMethod="javax.xml.bind.DatatypeConverter.parseDate" 
       printMethod="javax.xml.bind.DatatypeConverter.printDate" /> 
     </appinfo> 
    </annotation> 
</element> 

Сгенерированный класс, следовательно, включает в себя следующее генерируемой декларации члена класса:

@XmlElement(required = true, type = String.class) 
@XmlJavaTypeAdapter(Adapter1 .class) 
@XmlSchemaType(name = "dateTime") 
protected Calendar lastChangedDate; 

Как вы можете видеть , значение аннотации XmlJavaTypeAdapterAdapter1 - это мусор, я не знаю, что такое Adapter1, и мой компилятор тоже.

Что я могу сделать с моей схемой для создания рабочего выхода здесь?

(BTW, я JAXB noob, пытаясь понять, что сделали другие люди, извините, если ответ очевиден).

+0

Если кто-то ищет, как создать этот тип адаптера для dateTime, попробуйте также использовать DatatypeConverter.parseDateTime и printDateTime. –

ответ

1

ОК, нашел его. Класс Adapter1.java создается в выходном пакете xjc. Когда я обновляю свою IDE, появляется новый файл, скомпилируется и работает.

Надеюсь, это поможет кому-то еще.

Смежные вопросы