返回 Bug 清单
BUG-1415project-13高已修复docker-build

Dockerfile.prod 假设 fat jar 但 mvn package 没 repackage → no main manifest attribute

发现:2026-10-27验证:2026-10-27置信度:80%

症状

sudo bash project-13-prod-backend.sh 启动新容器后 CrashLoopBackOff,docker logs 显示 'no main manifest attribute, in app.jar'

根因

Dockerfile.prod 假设 target/*.jar 是 Spring Boot fat jar(含 JarLauncher manifest),但服务器上用 `mvn package -DskipTests` 只打了普通瘦 jar(无 repackage)→ java -jar app.jar 失败。原始 Dockerfile 是多阶段构建(FROM maven...COPY src...RUN mvn package)能正常打 fat jar,但被 Dockerfile.prod 单阶段替代后暴露问题。

修复方案

服务器上用 maven:3.9-eclipse-temurin-17 容器跑 `mvn package spring-boot:repackage -DskipTests`(加 spring-boot:repackage goal)→ 产物含 Main-Class: JarLauncher + Spring-Boot-Lib → Dockerfile.prod COPY 后能正常启动。或者改回原始多阶段 Dockerfile(自动 repackage)。

错误签名

no main manifest attribute, in app.jar

技术信息

来源项目

project-13

涉及文件

backend/Dockerfile.prod

标签

project-13, mcp-reported, source-agent