Maven项目报错:Blocked mirror for repositories

ERROR\] Failed to execute goal on project test: Could not resolve dependencies for project xxx: Failed to collect dependencies at my.test:dependency:version -\> my.test.transitive:transitive:version: Failed to read artifact descriptor for my.test.transitive:transitive:jar:version: Could not transfer artifact my.test.transitive:transitive:pom:version from/to maven-default-http-blocker ([http://0.0.0.0/](https://link.juejin.cn?target=http%3A%2F%2F0.0.0.0%2F "http://0.0.0.0/")): **`Blocked mirror for repositories:`** \[blocked-repository-id ([blocked.repository.org](https://link.juejin.cn?target=http%3A%2F%2Fblocked.repository.org "http://blocked.repository.org"), default, releases+snapshots)

如何解决

开发工具: IntelliJ IDEA

File------------------Setting------------------Build, Execution, Deplayment------------------------------Build Tools------------------------------Maven

Maven home path的下拉选项从 Bundled (maven 3) (Version: 3.8.1) 改成本地的 C:/yanessa/maven/apache-maven-3.6.3

报错原因

Maven 从 3.8.1 版本开始不支持 HTTP 仓库。这是因为 Maven 官方认为 HTTP 协议不够安全,容易受到中间人攻击。因此,从 3.8.1 版本开始,Maven 强制要求使用 HTTPS 协议来访问仓库。

如果你正在使用 Maven 3.8.1 或更高版本,并且需要访问 HTTP 仓库,你可以通过以下几种方式来解决这个问题:

  • 升级仓库到 HTTPS:联系仓库管理员,将 HTTP 仓库升级到 HTTPS。这是最安全和推荐的解决方案。

  • 配置 Maven 使用 HTTP:在 Maven 的 settings.xml 文件中添加以下配置,允许 Maven 使用 HTTP 协议:

    xml

    xml 复制代码
    <settings>
      <proxies>
        <proxy>
          <id>my-http-proxy</id>
          <active>true</active>
          <protocol>http</protocol>
          <host>your-http-proxy-host</host>
          <port>your-http-proxy-port</port>
          <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
        </proxy>
      </proxies>
      <mirrors>
        <mirror>
          <id>my-mirror</id>
          <mirrorOf>*</mirrorOf>
          <url>http://your-http-repository-url</url>
        </mirror>
      </mirrors>
    </settings>

    请注意,这种方法不推荐,因为它会降低安全性。

  • 降级 Maven 版本:如果你无法升级仓库或配置 Maven 使用 HTTP,你可以考虑降级到 Maven 3.8.0 或更低版本。但是,这也会带来安全风险,因此不推荐。

总之,为了确保安全,建议尽快将仓库升级到 HTTPS,并配置 Maven 使用 HTTPS 协议。

具体来说,你可以在 Maven 的发布说明中找到相关信息。以下是 Maven 3.8.1 发布说明的链接:

maven.apache.org/docs/3.8.1/...

相关推荐
Rust研习社39 分钟前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
小江的记录本1 小时前
【AI大模型选型指南】《2026年5月(最新版)国内外主流AI大模型选型指南》(个人版)
前端·人工智能·后端·ai·aigc·ai编程·ai写作
我叫黑大帅1 小时前
基于 Docker + Watchtower 自动化部署后端服务
后端·docker·面试
fox_lht2 小时前
12.3.使用生命周期使引用一直有用
开发语言·后端·rust
fengxin_rou2 小时前
用户模块架构实战:DTO 与 Domain 分层、Optional 空值处理、事务只读优化详解
java·后端·架构·用户实战
程序员cxuan3 小时前
看了一下姚顺宇的访谈,确实太顶了。
人工智能·后端·程序员
Wy_编程3 小时前
Go语言中的指针
开发语言·后端·golang
GetcharZp3 小时前
RabbitMQ 深度全解析,从 Docker 部署到 Go 语言高并发实战!
后端
小江的记录本4 小时前
【AI大模型选型指南】《2026年5月(最新版)国内外主流AI大模型选型指南》(企业版)
前端·人工智能·后端·ai作画·aigc·ai编程·ai写作
晓杰'4 小时前
Balatro后端进阶(1):自定义NestJS WebSocket Adapter实现消息拦截
后端·websocket·typescript·node.js·游戏开发·nestjs·wsadapter