# 第一阶段：使用Maven编译打包项目
FROM library/maven:3.8.5-openjdk-17-slim AS builder

# 设置工作目录
WORKDIR /app

# 复制项目依赖文件
COPY pom.xml .

# 下载依赖（利用Maven缓存机制，加快后续构建）
RUN mvn dependency:go-offline -B

# 复制源代码
COPY src ./src

# 编译打包（跳过测试以加快构建）
RUN mvn package -DskipTests

# 第二阶段：运行Spring Boot应用
# FROM library/openjdk:26-ea-17-slim
FROM bellsoft/liberica-openjre-alpine:17-cds

# 设置工作目录
WORKDIR /app

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

# 暴露8080端口
EXPOSE 8080

# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]