当前位置: 首页 > news >正文

Maven 下载 Spigot 依赖失败问题排查:Could not find artifact org.spigotmc:spigot-api…


🔧 Maven 下载 Spigot 依赖失败问题排查:Could not find artifact org.spigotmc:spigot-api…

在使用 Maven 开发 Minecraft 插件时,我遇到了一个依赖无法下载的问题。
项目中引入了 Spigot API:

<dependency><groupId>org.spigotmc</groupId><artifactId>spigot-api</artifactId><version>1.21.3-R0.1-SNAPSHOT</version><scope>provided</scope>
</dependency>

并配置了官方仓库:

<repositories><repository><id>spigotmc-repo</id><url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url></repository><repository><id>sonatype</id><url>https://oss.sonatype.org/content/groups/public/</url></repository>
</repositories>

但 Maven 构建时仍然失败,报错如下:

Could not find artifact org.spigotmc:spigot-api:jar:1.21.3-R0.1-SNAPSHOT in aliyunmaven (https://maven.aliyun.com/repository/public)

❗ 问题原因分析

这里依赖版本和仓库地址都没有问题,真正的问题是:

🔥 阿里云 Maven 镜像劫持了所有仓库请求

很多国内用户使用的 Maven settings.xml 文件里包含这一段:

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>Aliyun Maven</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

mirrorOf="*" 的意思是:

所有 Maven 仓库都必须经过我。

结果:

想访问的仓库 实际被代理去哪了
Spigot Snapshot 仓库 ❌ 被拦截并转发到阿里云公有仓库
阿里云有没有 Spigot 依赖? ❌ 没有 → 所以报错

也就是说,不是 Spigot 仓库没配置,而是 根本没访问到 Spigot 仓库


✔ 解决办法

✅ 方法 1:修改 settings.xml,避免阿里云接管所有仓库(推荐)

找到:

Maven 安装目录 /conf/settings.xml

将镜像部分改成:

<mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf> <!-- 改成只代理中央仓库 --><name>Aliyun Maven</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>

这样:

仓库类型 下载路径
中央仓库依赖 阿里云(速度快)
Spigot 等第三方仓库 原仓库(不会被拦截)

执行编译:

mvn clean package -U

就能正常拉到 Spigot 依赖。


✅ 方法 2:使用纯净的官方 Maven(无需修改 settings.xml)

到 Maven 官网下载不带镜像配置的版本即可:

🔗 https://maven.apache.org/

解压后配置环境变量,用它构建项目即可。


✅ 方法 3:新建独立 Maven 仓库(临时解决)

不用改配置,直接执行:

mvn -Dmaven.repo.local=D:\maven-repo clean package

让 Maven 使用一个全新的仓库目录,避免旧缓存和镜像干扰。


📌 总结

| 项目配置问题? | ❌ |
| 仓库地址错误? | ❌ |
| 版本号错误? | ❌ |
| 真实原因 | ✔ 阿里云镜像拦截并代理了 Spigot 仓库请求 |

只要调整 Maven 镜像配置,让 Spigot 请求不再被拦截,依赖就能正常下载。


💡 这并不是开发者的问题,而是国内镜像的行为造成的。
以后遇到依赖明明配置了仓库却依旧下载不到的情况,优先检查 settings.xml 的镜像规则是否在劫持请求。


http://www.rkmt.cn/news/78128.html

相关文章:

  • frp
  • 智能座舱的下一站:从“车内大屏”到“全域协同” - 智慧园区
  • 硬件电子知识(基础篇)
  • stable diffusion
  • 每日的小开心
  • 12306爬取基本车次信息(需下载chromedriver)
  • Flask集成MCP的AI Agent
  • 深入解析:OpenAI 新推 GPT-5-Codex-Mini:一款针对开发者的轻量级编码助手
  • rustfs
  • 日总结 37
  • 环境配置
  • RustFS是国产的吗?有人用吗?深度解析这款新兴对象存储
  • 软件工程学习日志2025.12.8
  • 视频号下载视频思路 - 教程
  • 中国鱼竿十大名单——2025年十大良心鱼竿精选:鱼竿名单第一名到第十名
  • 深入解析:Mybatis Dynamic Sql
  • 深入解析:【系统架构设计】用例技术:需求分析的实用工具
  • 割点
  • 2025.12.01~2025.12.07
  • MySQL怎么保证高可用
  • 2025钓鱼竿品牌前十名,口碑好的牌子都在这:耐用款合集
  • ## AI浪潮下的冷思考:技术、泡沫与我们的未来
  • CVE-2025-10971:敏感信息不安全存储漏洞深度解析
  • Steger 脊线提取算法原理
  • 异动拉升横盘突破筛选股票
  • 过碳酸钠生产厂家盘点:靠谱过碳酸钠厂家、优质供应商、制造商汇总
  • 国内生产过碳酸钠的厂家有哪些?质量好的过碳酸钠厂家盘点
  • 像Git一样管理数据:深入解析数据库并发控制MVCC的实现
  • Classic Papers in Programming Languages and Logic | 阅读计划
  • CodeBuddy AI IDE:全栈AI创建平台实战