26 lines
754 B
Docker
26 lines
754 B
Docker
# --- Builder Stage ---
|
|
FROM maven:3.9.11-eclipse-temurin-25 AS builder
|
|
WORKDIR /app
|
|
|
|
COPY pom.xml .
|
|
RUN mvn dependency:go-offline -B
|
|
|
|
COPY src ./src
|
|
RUN mvn clean package -DskipTests
|
|
|
|
# --- Runtime Stage ---
|
|
# Changed from alpine to the standard 'jre' image (Ubuntu-based)
|
|
# This provides the glibc environment SevenZipJBinding needs.
|
|
FROM eclipse-temurin:25-jre-jammy
|
|
WORKDIR /app
|
|
|
|
# Install rar for CBR file creation
|
|
RUN apt-get update && apt-get install -y rar && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy the jar from the builder stage
|
|
COPY --from=builder /app/target/*.jar app.jar
|
|
|
|
EXPOSE 8080
|
|
|
|
# Added --enable-native-access=ALL-UNNAMED for Java 25 compatibility with JNI
|
|
ENTRYPOINT ["java", "--enable-native-access=ALL-UNNAMED", "-jar", "/app/app.jar"] |