@xmlschema jaxb package-info.java编译错误

时间:2011-01-28 12:19:17

标签: java xsd jaxb

我正在尝试在包级别使用注释,但我从Eclipse获得了编译错误。

我有一个包含以下包/注释的类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;

我在package-info.java文件夹中使用上面的代码创建了es.indra.transporte.central.thalesinterface.common.beans,但我仍然收到编译错误

  

包注释必须位于文件package-info.java

Head课程中

。我正在使用jdk6。

1 个答案:

答案 0 :(得分:3)

我在尝试编译包信息时遇到的唯一问题是@XmlNs注释缺少prefix属性。

此:

@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;

有关示例,请参阅: