JAXB conflicting with dataBinding on IDEA + Android plugin

Viewed 9199

Error

org.gradle.execution.MultipleBuildFailures: Build completed with 1 failures. Caused by: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'. Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

I'm getting this this error when I enable dataBinding and try to build on IntelliJ IDEA, building with gradlew build works, and on Android Studio works too.

Versions

Gradle version: 5.1.1

IDEA: 2019.1.3

Android plugin: (latest as of 18 jun)

Java: 8


To reproduce, create a project on Android Studio, enable dataBinding, and open it on IDEA and try to build.

Does anyone know why these conflicts are happening?

4 Answers

Try this:

Right-click on a project module -> Open Module Settings -> Platform Settings | SDKs -> Click on each Android Api in the SDKs list. And make sure Java SDK 1.8 is selected

Android Studio 3.6.3 On Windows,

Go to File -> Project Structure (Shortcut: Ctrl+Alt+Shift+S)

Navigate to SDK Location

From the JDK location dropdown, choose Embedded JDK

enter image description here

P.S. Read this answer to know the possible reasons. So it is the safest option to use the embedded JDK.

From @Andrey's comment:

--add-modules "java.xml.bind" into Settings (Preferences on macOS) | Build, Execution, Deployment | Build Tools | Gradle | Gradle VM options.

Edit: This worked at first, but the same error happened after creating a databinding layout.

For Artic Fox Android studio version :

File > ProjectStructure > There is option "JDK location was moved to Gradle Settings."

enter image description here

Click on Gradle Setings

there is dropdown option as Gradle JDK, Select your appropriate jdk version from dropdown enter image description here

After this Sync your project and create build.

Related