如何让maven在JDK中使用不同的JAXB库

Dav*_*Rlz 5 java xml jaxb maven

我正在使用java 1.6.0_14,其中包含注释的实现javax.xml.bind.annotation.XmlElement.但是JDK中的那个仅适用于Method和Field.

我发现jaxb-api.jar版本2.2.3也允许这个参数,所以我想使用这个版本.

问题是,我无法弄清楚如何让maven使用这个优先于JDK中的那个,这样当我编写代码时,它不会抱怨注释被用在一个无效的位置.

有什么建议?

Nic*_*tti 2

在 POM 中包含显式依赖项:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.2.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你。我将 jar 复制到了认可的目录中,这确实解决了问题,Eclipse 将其拾取并且一切看起来都不错...但是,我们决定不这样做(管理问题,我们必须手动复制该文件)新的 jar 无处不在,包括构建服务器等)并等待我们升级到 java 7,无论何时。 (2认同)