您應該看到爲抽象複雜類型創建的抽象類(請參見下面的示例)。你能提供關於你的XML模式的更多細節嗎?
inheritance.xsd
contactInfo
是一個抽象的複雜類型。
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="contactInfo" abstract="true">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="phoneNumber">
<xs:complexContent>
<xs:extension base="contactInfo">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
XJC呼叫
xjc -d out inheritance.xsd
的ContactInfo
生成ConactInfo
是一個抽象類:
package generated;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "contactInfo")
@XmlSeeAlso({
PhoneNumber.class
})
public abstract class ContactInfo {
}
布萊斯謝謝!但不知何故,我得不到相同的輸出。我在JDK 6中使用xjc版本「JAXB 2.1.10」。這是問題嗎?您能否請提一下哪些細節可以提供幫助,因爲它是公司代碼:|無法複製粘貼:( – EFreak
@EFreak - 我很好奇你的類型層次結構如何。抽象類(抽象)擴展someModel:BaseClass(抽象?)擴展?(抽象?)。 –
當前它的AbstractClass繼承了NonAbstractBaseClass1擴展了另一個NonAbstractBaseClass2 – EFreak