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

@xmlschema jaxb包-info.java编译错误,java,xsd,jaxb,Java,Xsd,Jaxb,我试图在包级别使用注释,但我从Eclipse中得到编译错误 我有一个classHead,带有以下包/注释: @javax.xml.bind.annotation.XmlSchema ( xmlns = { @javax.xml.bind.annotation.XmlNs(prefix = "com", namespaceURI="http://es.indra.transporte.common"), @javax.xml.

我试图在包级别使用注释,但我从Eclipse中得到编译错误

我有一个class
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.transport.central.thaleInterface.common.beans
文件夹中用上述代码创建了一个
package info.java
,但我仍然得到编译错误

包批注必须位于文件
Package info.java


Head
类中。我使用的是jdk6。

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

这:

应该是:

@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;
有关示例,请参见:


您好,恐怕前缀不是我的问题。我已经设置了它,但仍然会出现相同的错误。检查构建文件夹时,我发现package-info.java文件没有编译,我不知道为什么,但我无法生成.class文件,我想这就是问题的原因。您好,我再次实现了生成package-info.class文件,但仍然会出现相同的错误。我完全迷路了。Fran—我能够重现错误的唯一方法是将注释添加到名为“package info.java”以外的文件中。您是否有可能在另一个类(您提到了Head类)上错误地使用此注释?在Eclipse的“问题”选项卡中,它指定了什么作为问题的“资源”?嗨,Blaise,我已经部分解决了这个问题。看起来,正如我在Eclipse中的这个链接()中所发现的,只能对package-info.java文件进行注释。注释任何其他包声明都会导致编译错误。因此,我删除了“Head”类中的注释,只是将其保留在package-info.java文件中,编译错误消失了。
@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;