我使用XML模式生成JAXB类。我的架构的一部分使用内联javaTypedateTime类型重新分配给java.util.Calendar,如下所示:

<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是什么,我的编译器也不知道。

我可以对架构做什么以在此处生成工作输出?

(顺便说一句,我是一个JAXB新手,试图弄清其他人所做的事情,如果答案很明显,对不起)。

最佳答案

好,找到了。类Adapter1.java是在xjc输出包中生成的。当我刷新IDE时,新文件将出现,被编译并可以工作。

希望这可以帮助其他人。

关于java - JAXB javaType重写,但是XmlJavaTypeAdapter Adapter1无法解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41028445/

10-09 09:45