mac java 9 gradle ClassNotFoundException: javax.xml.bind.JAXBElement 构建时

Tho*_*ler 5 java gradle

我正在尝试使用 Java 9 在 Mac 上构建一个 gradle 项目,但出现此错误:

FAILURE: Build failed with an exception.

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement
Run Code Online (Sandbox Code Playgroud)

Java版本是:

java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

如何将 JAXB 添加到类路径?该项目构建在 Windows 和其他计算机上,无需添加 JAXB。

小智 1

您之所以看到这种情况是因为 Java 9 中的更改。以下是解决该问题的方法:如何解决 Java 9 中的 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

但是,如果您的项目是为 Java 8(或更早版本)编写的,我真正建议的是让 Gradle 在您的 build.gradle 中了解这一点:

...

plugins {
    id 'java'
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

...
Run Code Online (Sandbox Code Playgroud)