0

I have a following Docker file to build Android project:

FROM ubuntu:18.04

RUN apt-get update && \
  apt-get install -y openjdk-11-jdk wget unzip git dos2unix && \
  rm -rf /var/lib/apt/lists/*

ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux

# Download and install Android SDK tools
RUN cd /opt && \
  wget -q https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -O android-sdk.zip && \
  unzip -q android-sdk.zip -d android-sdk-linux && \
  rm android-sdk.zip

ENV PATH=${PATH}:${ANDROID_SDK_ROOT}/tools:${ANDROID_SDK_ROOT}/tools/bin:${ANDROID_SDK_ROOT}/platform-tools

# Accept Android licenses
RUN yes | sdkmanager --licenses

# Android build tools
RUN sdkmanager --update && \
  sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.3" "system-images;android-28;google_apis;x86_64"

# Android emulator
RUN echo "no" | avdmanager create avd -n test -k "system-images;android-28;google_apis;x86_64" --force

COPY . /app

# Convert gradle script to Unix-style line endings
RUN dos2unix /app/gradlew

# Build the project
WORKDIR /app

However it fails during build on:

 => ERROR [4/8] RUN yes | sdkmanager --licenses                                                      0.5s
------
 > [4/8] RUN yes | sdkmanager --licenses:
#6 0.509 Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema

Previously I had Java 8, but I was required to Update it to Java 11 and started getting this error. What is the way to fix it?

  • Does this answer your question? [How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException](https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception) – stdunbar Feb 17 '23 at 15:36

1 Answers1

0

These errors came for the required lib file, not in the build path. you have to search the file name and get library relevant library version. remember when you download libraries do not conflict versions. XmlSchema Lib File