注释类型@XmlElement不适用

时间:2014-04-30 06:37:48

标签: java jaxb annotations

在编译期间我有一个错误: “注释类型不适用于此类声明”。细节:

void someFunc(@XmlElement(required=true) MyClass someParam).

我在这个版本中使用的JDK 1.6.18和@XmlElement不可用。我发现JAXB中的主要问题(它的版本)。这里讨论了:
XmlElement annotation dissallowed with WebParam
Is it possible to replace the version of the JAXB implementation in Java JRE 1.6 SE?

我使用endorsed方法($ JAVA_HOME / lib / endorsed)在JDK中更新了JAXB,但它仍然不起作用。

问:
1.我如何确信编译器使用JAXB的更新版本?
2.还有什么可能是不正确的原因?

2 个答案:

答案 0 :(得分:2)

你说你更新了这个文件夹(JDK_HOME / lib / endorsed),但它应该是$ JAVA_HOME / lib / endorsed(或$ JDK_HOME / jre / lib / endorsed)
为了确保您将jar放在正确的位置,您可以通过执行

来检查已签名目录的当前位置
System.out.println(System.getProperty("java.endorsed.dirs"));

答案 1 :(得分:0)

Jaxb用于读取/写入XML文件,将注释放在方法的标题中并不会产生任何感觉。