2011-01-28 62 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