You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建镜像时Maven无法解析spring-boot-starter-parent父POM报错

Docker构建时Maven无法解析spring-boot-starter-parent父POM的解决方案

错误根因

报错核心是Docker构建阶段的Maven容器无法正常解析公共Maven仓库域名repo.maven.apache.org,加上pom文件中parent.relativePath配置被注释,无法从本地路径读取父POM,最终依赖拉取失败导致构建中断。

解决方案

  • 修复Docker构建网络问题
    域名解析失败大概率是Docker daemon的DNS配置异常,你可以在执行构建命令时手动指定公共DNS:
    docker build --dns 8.8.8.8 --dns 114.114.114.114 .
    
    如果你处于公司内网环境,需要配置Docker的网络代理,或者切换为公司内部的Maven私有仓库地址。
  • 替换为国内Maven镜像源
    公网Maven中央仓库访问不稳定时,可在pom.xml的标签下添加阿里云镜像仓库配置,避免拉取依赖失败:
    <repositories>
        <repository>
            <id>aliyunmaven</id>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>aliyunmaven</id>
            <url>https://maven.aliyun.com/repository/public</url>
        </pluginRepository>
    </pluginRepositories>
    
    也可以提前准备好配置了国内源的settings.xml文件,在Dockerfile的RUN mvn命令前添加配置复制逻辑:
    COPY settings.xml /usr/share/maven/conf/settings.xml
    
  • 优化Dockerfile冗余配置
    你当前的Dockerfile中重复执行了pom文件复制操作,ADD pom.xml .和COPY pom.xml /home/app功能完全一致,删除任意一行即可,不会影响构建逻辑。
  • 复用本地Maven缓存
    如果你本地已经下载过对应版本的spring-boot依赖,可在构建时挂载本地Maven仓库目录到容器内,避免重复下载:
    docker build -v ~/.m2:/root/.m2 .
    

内容的提问来源于stack exchange,提问作者Jahadul Rakib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:39:02