FROM openjdk:11-jdk
ARG MAVEN_VERSION=3.8.4
ARG USER_HOME_DIR="/root"
ARG SHA=a9b2d825eacf2e771ed5d6b0e01398589ac1bfa4171f36154d1b5787879605507802f699da6f7cfc80732a5282fd31b28e4cd6052338cbef0fa1358b48a5e3c8
ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries
RUN mkdir -p /usr/share/maven /usr/share/maven/ref
&& curl -fsSL -o /tmp/apache-maven.tar.gz
B
A
S
E
U
R
L
/
a
p
a
c
h
e
−
m
a
v
e
n
−
{BASE_URL}/apache-maven-
BASEURL/apache−maven−{MAVEN_VERSION}-bin.tar.gz
&& echo “${SHA} /tmp/apache-maven.tar.gz” | sha512sum -c -
&& tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1
&& rm -f /tmp/apache-maven.tar.gz
&& ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
ENV MAVEN_HOME /usr/share/maven
ENV MAVEN_CONFIG “$USER_HOME_DIR/.m2”
COPY mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh
COPY settings-docker.xml /usr/share/maven/ref/
COPY settings-docker.xml /usr/share/maven/ref/
COPY graalvm_21.3.0.tar.gz /usr/graalvm_21.3.0.tar.gz
RUN cd /usr && tar -xzvf /usr/graalvm_21.3.0.tar.gz
&& rm -rf /usr/graalvm_21.3.0.tar.gz
&& echo “export JAVA_HOME=/usr/graalvm-ce-java11-21.3.0” >> ~/.bashrc
&& echo “export GRAALVM_HOME=/usr/graalvm-ce-java11-21.3.0” >> ~/.bashrc
&& echo "export PATH=/usr/graalvm-ce-java11-21.3.0/bin:’$PATH’ " >> ~/.bashrc
&& . ~/.bashrc
&& gu install native-image
&& sed -i “s@http://deb.debian.org@https://mirrors.163.com@g” /etc/apt/sources.list
&& apt-get update
&& apt-get -y install build-essential libz-dev zlib1g-dev
ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"]
CMD [“mvn”]