# Stage 1: Maven 构建（Docker 层缓存自动缓存依赖）
FROM maven:3.9-eclipse-temurin-17 AS builder
WORKDIR /app

# 先复制 pom.xml，单独一层 —— 只要依赖不变，这层就被缓存
COPY pom.xml .
RUN mvn dependency:go-offline -B -q

# 再复制源码构建
COPY src/ ./src/
RUN mvn package -DskipTests -B -q

# Stage 2: 运行时（精简 JRE）
FROM eclipse-temurin:17-jre
WORKDIR /app

COPY --from=builder /app/target/LPT.jar LPT.jar

EXPOSE 8888

ENTRYPOINT ["java", "-jar", "LPT.jar"]

HEALTHCHECK --interval=10s --timeout=5s \
  CMD curl --fail http://localhost:8888/actuator/health || exit 1
