在编译期间我有一个错误: “注释类型不适用于此类声明”。细节:
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.还有什么可能是不正确的原因?
答案 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文件,将注释放在方法的标题中并不会产生任何感觉。