# Stage 1: Build FROM maven:3.6.3-openjdk-8 AS builder WORKDIR /build # 复制 pom.xml 和 settings COPY txw-mhzc/pom.xml . COPY txw-mhzc/devops/settings-offline.xml settings.xml # 复制子模块 pom.xml COPY txw-mhzc/txw-mhzc-service-api/pom.xml txw-mhzc-service-api/ COPY txw-mhzc/txw-mhzc-service-biz/pom.xml txw-mhzc-service-biz/ # 复制本地 Maven 仓库(从项目根目录的共享 .m2) COPY script/.m2/repository /root/.m2/repository # 复制源码 COPY txw-mhzc/txw-mhzc-service-api/src txw-mhzc-service-api/src COPY txw-mhzc/txw-mhzc-service-biz/src txw-mhzc-service-biz/src # 构建(-am: 同时构建依赖模块) RUN mvn clean package -pl txw-mhzc-service-biz -am -DskipTests -s settings.xml -o # Stage 2: Package FROM eclipse-temurin:8-jre-alpine WORKDIR /app # 复制构建产物 COPY --from=builder /build/txw-mhzc-service-biz/target/txw-mhzc-service-biz.jar ./app.jar # 清理构建缓存 RUN rm -rf /root/.m2 /root/.mvn EXPOSE 9302 ENTRYPOINT ["java", "-jar", "/app/app.jar"]