java - @XmlSchema : "annotation type not applicable to this kind of declaration"

标签 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

最佳答案

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

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

Urlset 类中删除相同的注释。

关于java - @XmlSchema : "annotation type not applicable to this kind of declaration",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24027764/

相关文章:

java - 性能问题 - 在 java 的 unix box 中写入巨大的 csv 文件时花费太多时间,与 MYSQL DB 交互以对每条记录进行交叉检查

Android: ListView 的布局问题

c++ - 在运行时从 xml 文件构建对象并一次性初始化?

java - JAXB Marshall Map<Integer, ArrayList<String>>

java - 如何获取 XmlType#name 的有效默认值?

java - DecimalFormat java允许在点后输入0

java - 越来越严重 : Context [/myapplication] startup failed due to previous errors

java - setTitle() 和 Thread.sleep()

xml - 使用 XML::Twig 处理巨大文件 (>10 GB) 的性能问题

java - 什么是 JAXB 生成的 package-info.java