首页 > 解决方案 > jaxb 依赖项的 Java 11 问题

问题描述

我正在尝试将项目的 Java 8 版本升级到 11,在手动添加 JAXB 依赖项后,我在构建时遇到了以下错误:

'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} in com.sun.xml.bind:jaxb-impl:2.2.11

我正在使用 Gradle,所以我添加了以下依赖项:

implementation "javax.xml.bind:jaxb-api:2.2.11"
implementation "com.sun.xml.bind:jaxb-core:2.2.11"
implementation "com.sun.xml.bind:jaxb-impl:2.2.11"
implementation "javax.activation:activation:1.1.1"

我试图搜索 jaxb pom 以搜索指定了它正在寻找的属性 ( tools.jar) 的位置,但找不到任何东西。

我究竟做错了什么?

标签: javagradle

解决方案


只需使用 2.3+ 版本的jaxb-...工件。如果我们检查jaxb-parent-2.3.0.pom然后我们看到它不再<systemPath>${tools.jar}</systemPath>使用


推荐阅读