Close

2023-09-14

Failed to install android-sdk: “java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema”

Failed to install android-sdk: "java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema"

The error message you’re seeing, java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema, is occurring because the JAXB (Java Architecture for XML Binding) classes are not in the classpath. This is a common issue when using Java versions nine and above, as these classes were removed from the default classpath.

Here’s how you can resolve this issue when trying to install the Android SDK:

Step 1: Install Java 8

Since the Android SDK is most compatible with Java 8, installing Java 8 on your system is recommended. You can download it from the official Oracle website or use OpenJDK.

Step 2: Set JAVA_HOME Environment Variable

After installing Java 8, set the JAVA_HOME environment variable to point to the Java 8 JDK directory.

For Linux/Unix/macOS:

export JAVA_HOME=/path/to/your/jdk8

For Windows:

set JAVA_HOME=C:\path\to\your\jdk8

Step 3: Update PATH Variable

Update the PATH variable to include the bin directory of the Java 8 JDK.

For Linux/Unix/macOS:

export PATH=$JAVA_HOME/bin:$PATH

For Windows:

set PATH=%JAVA_HOME%\bin;%PATH%

Step 4: Verify Java Version

Verify that you are using Java 8 by running the following command in your terminal:

java -version

Step 5: Reinstall Android SDK

Try reinstalling the Android SDK now that Java 8 is set up correctly.

Step 6: Add JAXB Libraries (If Necessary)

If you still encounter issues and need to use a newer version of Java, you can add the JAXB libraries to your classpath. Here’s how you can do it for Maven:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>

Step 7: Seek Further Assistance

If the issue persists, consult the Android SDK documentation or community forums for more specific guidance.