【发布时间】:2011-12-11 22:14:10
【问题描述】:
我正在使用 java 1.6.0_14,其中包含注释 javax.xml.bind.annotation.XmlElement 的实现。但是 JDK 中的那个只适用于 Method 和 Field。
我发现 jaxb-api.jar 版本 2.2.3 也允许在 Parameter 上这样做,所以我想使用这个版本。
问题是,我不知道如何让 maven 优先使用这个而不是 JDK 中的那个,这样当我编写代码时,它就不会抱怨注释被用于无效位置。
有什么建议吗?
【问题讨论】:
-
您应该能够通过在 pom.xml 中显式添加对它的依赖项将 jaxb-api.jar 放在类路径中的前面。如果你没有使用 maven 来运行应用程序,那么你必须确保新库在旧库之前的类路径中可用。
-
你试过Java 6 update 27吗? (更新 14 已经很老了)
-
@Peter Lawrey。谢谢你,但用于 xmlelement 的 Java 6 javadoc 显示它仅适用于 FIELD 和 METHOD。另一方面,Java 7 也允许在 PARAMETER 上使用它——但我不能证明升级到 v7 来解决这个问题是合理的。
-
抱歉,最新的 Java 6 是更新 29。您可以将库添加到
jre/lib/endorsed目录(您必须添加)。此目录中的任何内容都优先于 JRE 中的内容使用。 (如果你愿意,甚至是 java.lang.Object ;) -
@Peter 我在 Nicola 给出的答案中概述了认可的目录有效,但我们决定暂时放弃它,等到我们在项目中升级 java。还是谢谢你。