【问题标题】:Android check with NoClassDefFoundError: javax/xml/bind/JAXBExceptionAndroid 检查 NoClassDefFoundError: javax/xml/bind/JAXBException
【发布时间】:2019-12-19 14:49:01
【问题描述】:

我正在尝试运行 ./gradlew clean 检查,但遇到以下错误:

> 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)

gradle 配置中可能缺少什么?

【问题讨论】:

    标签: android android-studio


    【解决方案1】:

    我卸载 Java 11 并安装 Java 8

    【讨论】:

    • @BrunoDiegoMartins 谢谢伙计,它成功了。 Android Studio 目前不支持 Eric java 11,因此可能存在一些冲突或依赖关系。
    • 有没有人用最近的 java 版本编译的解决方案?
    • Android 仍然需要 Java 8。至于发生了什么,JAXB 已从 Java SE 中删除。有类似 JAXB 的第三方库。但是使用 Java 8 解决了这个问题。此外,进入 Android Studio 项目结构,而不是使用 java9 选择 android-studio/jre
    • 我得到了这个“请选择一个有效的 jdk 11 目录”并且无法将 java 8 设置为项目
    【解决方案2】:

    如果您使用的是 Android Studio 3.6 或更高版本,请转到 Project Structure -> SDK Location 并更改 JDK Location。 Android Studio 带有默认的 JRE。它在下拉菜单中可用。

    【讨论】:

      【解决方案3】:

      卸载 Java 11 并安装 java 8

      “我安装了jre8 && jdk8

      然后打开Project Structure并将SDK Location更改为新的JDK Location

      【讨论】:

        【解决方案4】:

        检查 gradle 插件的更新,这为我解决了问题。

        【讨论】:

          【解决方案5】:

          在项目级 gradle 中更新你的 gradle 版本

          classpath 'com.android.tools.build:gradle:4.x.x'
          

          更改文件->项目结构->SDK 位置->JDK 路径到应安装在系统中的 jdk 1.8 位置“Home”文件夹。

          【讨论】:

          • 更新为我解决了这个错误,干杯。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-09-20
          • 1970-01-01
          相关资源
          最近更新 更多