2011-01-28 63 views
4

我試圖在包級別使用註釋,但是我從Eclipse獲得編譯錯誤。@xmlschema jaxb package-info.java編譯錯誤

我有一個類Head具有以下包/註釋:

@javax.xml.bind.annotation.XmlSchema (
    xmlns = { 
     @javax.xml.bind.annotation.XmlNs(prefix = "com", 
       namespaceURI="http://es.indra.transporte.common"), 
     @javax.xml.bind.annotation.XmlNs(namespaceURI="http://www.w3.org/2001/XMLSchema")   
    }, 
    namespace = "http://es.indra.transporte.common", 
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, 
    attributeFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED 
) 
package es.indra.transporte.central.thalesinterface.common.beans; 

我在es.indra.transporte.central.thalesinterface.common.beans文件夾中創建一個package-info.java與上面的代碼,但我仍然得到編譯錯誤

包註釋必須在文件中package-info.java

in Head類。我正在使用jdk6。

回答

2

我試圖編譯包信息時遇到的唯一問題是@XmlNs註釋缺少前綴屬性。

此:

@javax.xml.bind.annotation.XmlNs(namespaceURI="http://www.w3.org/2001/XMLSchema") 

應該是:

@javax.xml.bind.annotation.XmlNs(prefix="xsd", namespaceURI="http://www.w3.org/2001/XMLSchema") 

以下校正代碼應編譯:

@javax.xml.bind.annotation.XmlSchema (
    xmlns = { 
     @javax.xml.bind.annotation.XmlNs(prefix = "com", 
       namespaceURI="http://es.indra.transporte.common"), 
     @javax.xml.bind.annotation.XmlNs(prefix="xsd", namespaceURI="http://www.w3.org/2001/XMLSchema") 
    }, 
    namespace = "http://es.indra.transporte.common", 
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, 
    attributeFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED 
) 
package es.indra.transporte.central.thalesinterface.common.beans; 

對於例如參見:

+0

嗨,恐怕前綴不是我的問題。我已經設置了它,但我仍然得到相同的錯誤。 – Fran 2011-01-31 08:43:09