Skip to content

Commit e7ac363

Browse files
committed
Refactored Dockerfile to use SDKMAN. Reconfigured Java, Gradle, & Maven versioning to be controlled by SDKMAN
1 parent 906f85f commit e7ac363

File tree

1 file changed

+19
-48
lines changed

1 file changed

+19
-48
lines changed

images/java/ubuntu.Dockerfile

Lines changed: 19 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,23 @@
11
FROM codercom/enterprise-base:ubuntu
22

3-
# Run everything as root
4-
USER root
5-
6-
ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
7-
ENV PATH=$PATH:$JAVA_HOME/bin
8-
ENV DEBIAN_FRONTEND=noninteractive
9-
10-
# Install JDK (OpenJDK 21)
11-
RUN apt-get update -y \
12-
&& apt-get install openjdk-21-jdk -y --no-install-recommends --no-install-suggests
13-
14-
# Install Maven
15-
ARG MAVEN_VERSION=3.9.11
16-
ARG MAVEN_SHA512=bcfe4fe305c962ace56ac7b5fc7a08b87d5abd8b7e89027ab251069faebee516b0ded8961445d6d91ec1985dfe30f8153268843c89aa392733d1a3ec956c9978
17-
18-
ENV MAVEN_HOME=/usr/share/maven
3+
ENV DEBIAN_FRONTEND="noninteractive"
4+
ENV JAVA_VERSION="21.0.8-tem"
5+
ENV GRADLE_VERSION="8.14.3"
6+
ENV MAVEN_VERSION="3.9.11"
197
ENV MAVEN_CONFIG="/home/coder/.m2"
208

21-
RUN mkdir -p $MAVEN_HOME $MAVEN_HOME/ref \
22-
&& echo "Downloading Maven" \
23-
&& curl -fsSL -o /tmp/apache-maven.tar.gz https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
24-
&& echo "Checking downloaded file hash" \
25-
&& echo "${MAVEN_SHA512} /tmp/apache-maven.tar.gz" | sha512sum -c - \
26-
&& echo "Unzipping Maven" \
27-
&& tar -xzf /tmp/apache-maven.tar.gz -C $MAVEN_HOME --strip-components=1 \
28-
&& echo "Cleaning and setting links" \
29-
&& rm -f /tmp/apache-maven.tar.gz \
30-
&& ln -s $MAVEN_HOME/bin/mvn /usr/bin/mvn
31-
32-
# Install Gradle
33-
ENV GRADLE_VERSION=8.14.3
34-
ARG GRADLE_SHA512=517ed3a20fe9f14f8c7e34778f5d248c61473e2b67e48a6d3341682a4bdcab502723f1d985fbb9e7f360a74a4e15f113d08a515bcc7b56dd5eb426f8e2cf82bf
35-
36-
ENV GRADLE_HOME=/usr/bin/gradle
37-
38-
RUN mkdir -p /usr/share/gradle /usr/share/gradle/ref \
39-
&& echo "Downloading Gradle" \
40-
&& curl -fsSL -o /tmp/gradle.zip https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip \
41-
&& echo "Checking downloaded file hash" \
42-
&& echo "${GRADLE_SHA512} /tmp/gradle.zip" | sha512sum -c - \
43-
&& echo "Unzipping Gradle" \
44-
&& unzip -q -d /usr/share/gradle /tmp/gradle.zip \
45-
&& echo "Cleaning and setting links" \
46-
&& rm -f /tmp/gradle.zip \
47-
&& ln -s /usr/share/gradle/gradle-${GRADLE_VERSION} /usr/bin/gradle
48-
49-
ENV PATH=$PATH:$GRADLE_HOME/bin
50-
51-
# Set back to coder user
52-
USER coder
9+
RUN sudo apt-get update && \
10+
sudo apt-get install --yes --no-install-recommends --no-install-suggests zip && \
11+
curl -fsSL "https://get.sdkman.io" | bash && \
12+
source "/home/coder/.sdkman/bin/sdkman-init.sh" && \
13+
sdk version && \
14+
sdk install java $JAVA_VERSION && \
15+
sdk default java $JAVA_VERSION && \
16+
sdk install gradle $GRADLE_VERSION && \
17+
sdk default gradle $GRADLE_VERSION && \
18+
sdk install maven $MAVEN_VERSION && \
19+
sdk default maven $MAVEN_VERSION && \
20+
sdk flush && \
21+
sdk current java && \
22+
sdk current gradle && \
23+
sdk current maven

0 commit comments

Comments
 (0)