# 阶段 1：构建环境
FROM maven:3.8.6-openjdk-8-slim as builder

WORKDIR /app

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

# 复制源代码并打包
COPY src ./src
RUN mvn clean package -DskipTests

# 阶段 2：运行环境
# 根据 pom.xml，项目使用的是 Java 1.8
FROM openjdk:8-jre-alpine

WORKDIR /app

# 设置时区为上海（可选，但推荐）
ENV TZ=Asia/Shanghai
RUN apk add --no-cache tzdata && \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
    echo $TZ > /etc/timezone

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

# 暴露 Spring Boot 默认端口
EXPOSE 8080

# 启动参数可根据需要调整
CMD ["java", "-jar", "app.jar"]
