@XmlSchema:"注释类型不适用于此类声明"

时间:2014-06-04 01:49:26

标签: java xml jaxb

2.11和java7。我尝试使用@XmlSchema注释我的包,如下所示。

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchema;

@XmlSchema(namespace = "http://www.sitemaps.org/schemas/sitemap/0.9",
    elementFormDefault = XmlNsForm.QUALIFIED)
@XmlRootElement(name="urlset")
public class Urlset {

    private String name;

    @XmlElement
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

但是我得到了这个编译错误,"注释类型不适用于这种声明"

有人知道为什么会发生这种情况吗?

enter image description here

1 个答案:

答案 0 :(得分:4)

@XmlSchema注释是注释,因此将其放在名为package-info.java的文件中,该文件位于与Urlset.java相同的源目录中,如此:

@XmlSchema(namespace = "http://www.sitemaps.org/schemas/sitemap/0.9",
    elementFormDefault = XmlNsForm.QUALIFIED)

Urlset课程中删除相同的注释。