# 多阶段构建 - 构建阶段
FROM maven:3.8-eclipse-temurin-8 AS builder

WORKDIR /app

# 先复制pom.xml，利用Docker缓存下载依赖
COPY pom.xml .
RUN mvn dependency:go-offline -B

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

# 运行阶段 - 使用Eclipse Temurin JRE镜像
FROM eclipse-temurin:8-jre

WORKDIR /app

# 设置时区为中国
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 从构建阶段复制jar包
COPY --from=builder /app/target/*.jar app.jar

# 暴露端口
EXPOSE 8080

# JVM优化参数（适合小内存设备如NAS）
ENV JAVA_OPTS="-Xms128m -Xmx256m -XX:+UseG1GC -XX:MaxGCPauseMillis=100"

# 启动命令
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"]
