> 技术文档 > 如何解决Maven包管理器HTTP仓库被阻止问题

如何解决Maven包管理器HTTP仓库被阻止问题


问题
Since Maven 3.8.1 http repositories are blocked.Possible solutions:- Check that Maven settings.xml does not contain http repositories- Check that Maven pom files do not contain http repository http://192.168.100.235:8081/repository/maven-public- Add a mirror(s) for http://192.168.100.235:8081/repository/maven-public that allows http url in the Maven settings.xml- Downgrade Maven to version 3.8.1 or earlier in settings
原因分析

由于 Maven 3.8.1+ 默认阻止HTTP仓库,当工程通过 settings.xml 调用如 http://192.168.100.235:8081/repository/maven-public 这类HTTP仓库时,会触发安全拦截机制。
错误信息指出关键问题:

Blocked mirror for repositories: [public (http://192.168.100.235:8081/repository/maven-public)]

解决方案

1. 确保构建流程不使用HTTP仓库(推荐)

如果团队有HTTPS仓库地址,应优先使用HTTPS。

2. 手动调整Maven配置允许HTTP

若必须使用HTTP协议,需调整 settings.xml 以允许它。以下是具体步骤:


步骤一:覆盖默认HTTP拦截器

在 Maven 的 settings.xml 中强制绕过默认拦截逻辑。

  1. 定位 settings.xml

    • 用户级配置文件~/.m2/settings.xml
    • 全局配置文件:Maven安装目录/conf/settings.xml
  2. 修改 部分
    找到 标签,添加以下配置来覆盖默认的HTTP拦截器:

    <mirror> <id>maven-default-http-blocker</id