Android 检查 NoClassDefFoundError: javax/xml/bind/JAXBException

Bru*_*ins 14 android android-studio

我正在尝试运行 ./gradlew clean check,但我面临以下错误:

> Task :app:kaptDebugKotlin FAILED
e: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137)
        at java.base/java.lang.Class.getConstructor0(Class.java:3342)
        at java.base/java.lang.Class.newInstance(Class.java:556)
        at org.jetbrains.kotlin.cli.jvm.plugins.ServiceLoaderLite.loadImplementations(ServiceLoaderLite.kt:50)
        at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension$loadProcessors$efficientProcessorLoader$1.doLoadProcessors(Kapt3Extension.kt:83)
... more ...
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
Run Code Online (Sandbox Code Playgroud)

gradle 配置中可能缺少什么?

Bru*_*ins 16

我卸载 Java 11 并安装 Java 8

  • @BrunoDiegoMartins 谢谢伙计,它成功了。Android Studio 目前不支持 Eric java 11,因此可能存在一些冲突或依赖关系。 (2认同)

Jen*_*dra 6

在项目级别的 gradle 中更新您的 gradle 版本

classpath 'com.android.tools.build:gradle:4.x.x'
Run Code Online (Sandbox Code Playgroud)

或者

将 File->Project Structure->SDK Location->JDK path 更改为应安装在系统中的 jdk 1.8 位置“Home”文件夹。