Since Maven 3.8.1 http repositories are blocked(不降低版本解决方案)
我下载使用的是 apache-maven-3.8.6,我目前公司的私服并没有支持HTTPS协议,网上给出的解决方案都是降低版本至 3.8.1 以下,但是,有同事不降版本也能运行,我就很奇怪。
我的配置截图
如下图所示,是我最新版(2022.2)中配置的 Settings 文件地址:
在 Maven安装目录/conf/ 文件夹下,我有两个 settings 文件:
- settings.xml (版本自带的)
- settings.tiansu.xml (公司同事给我的)
于是,问题出在 3.8.6 版本自带的 settings.xml 中 maven-default-http-blocker
:
<mirrors>
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
</mirrors>
我的猜想是 settings.xml和settings.tiansu.xml中的配置取了“并集”,且这个 maven-default-http-blocker
造成了报错
解决方案
我把 settings.xml 中 maven-default-http-blocker 这个 mirror 注释掉以后,就不再报错了。
<mirrors>
<!--<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>-->
</mirrors>
从 mirror-settings 可以知道
since Maven 3.8.0,
external:http:*
matches all repositories using HTTP except those using localhost.
所以,我http开头的仓库都被这个 maven-default-http-blocker 拦截了,然后 blocked 了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix