diff --git a/.mvn/toolchains.xml b/.mvn/toolchains.xml
index 5ce8487..3e4b686 100644
--- a/.mvn/toolchains.xml
+++ b/.mvn/toolchains.xml
@@ -6,7 +6,7 @@
21
- ${env.JAVA_HOME}
+ /opt/java/openjdk
diff --git a/Dockerfile b/Dockerfile
index c36328f..24fcaac 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,16 @@
FROM maven:3.9.6-eclipse-temurin-21 as builder
+ENV JAVA_HOME=/opt/java/openjdk
WORKDIR /workspace
+
+COPY pom.xml mvnw mvnw.cmd ./
COPY .mvn ./.mvn
-COPY pom.xml .
+RUN mkdir -p /root/.m2 \
+ && cp .mvn/toolchains.xml /root/.m2/toolchains.xml
+RUN chmod +x mvnw \
+ && ./mvnw -B -DskipTests dependency:go-offline
+
COPY src ./src
-RUN mvn -B -e -DskipTests clean package
+RUN ./mvnw -B -DskipTests clean package
FROM eclipse-temurin:21-jdk-alpine
VOLUME /tmp
@@ -12,14 +19,4 @@ RUN apk update \
&& apk add --no-cache ca-certificates fontconfig ttf-dejavu \
&& update-ca-certificates \
&& rm -rf /var/cache/apk/*
-ENTRYPOINT ["java",
- "--add-opens=java.base/java.lang=ALL-UNNAMED",
- "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED",
- "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED",
- "--add-opens=java.base/java.io=ALL-UNNAMED",
- "--add-opens=java.base/java.net=ALL-UNNAMED",
- "--add-opens=java.base/java.util=ALL-UNNAMED",
- "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005",
- "-Djava.security.egd=file:/dev/./urandom",
- "-jar",
- "/app.jar"]
+ENTRYPOINT ["java", "--add-opens=java.base/java.lang=ALL-UNNAMED", "--add-opens=java.base/java.lang.invoke=ALL-UNNAMED", "--add-opens=java.base/java.lang.reflect=ALL-UNNAMED", "--add-opens=java.base/java.io=ALL-UNNAMED", "--add-opens=java.base/java.net=ALL-UNNAMED", "--add-opens=java.base/java.util=ALL-UNNAMED", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]