Skip to content
Advertisement

java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException after updating to Android Studio 4.2

Google just release Android Studio 4.2 stable. I updated my AS from 4.1 to 4.2. Now I am getting this error. It’s showing error in data binding.

Caused by: java.util.ServiceConfigurationError: javax.annotation.processing.Processor: android.databinding.annotationprocessor.ProcessDataBinding Unable to get public no-arg constructor
        at kotlin.collections.CollectionsKt___CollectionsKt.toCollection(_Collections.kt:1200)
        at kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(_Collections.kt:1233)
        at kotlin.collections.CollectionsKt___CollectionsKt.toList(_Collections.kt:1224)
        at org.jetbrains.kotlin.kapt3.base.ProcessorLoader.doLoadProcessors(ProcessorLoader.kt:80)
        at org.jetbrains.kotlin.kapt3.base.ProcessorLoader.loadProcessors(ProcessorLoader.kt:45)
        at org.jetbrains.kotlin.kapt3.base.Kapt.kapt(Kapt.kt:42)
        ... 28 more
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        ... 34 more
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
        ... 34 more

Advertisement

Answer

Android Studio 4.2.0 and more now comes with Java 11.0.8 shipped and will use it by default which cases this error in deprecated libraries.

The solution is simple, you need to change it to java (JDK) 1.8 in the menu File > Project Structure > JDK Location

image

Notices that Android Studio lower than 4.2.0 comes with java 1.8 already

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement