问题
当 Maven 升级到3.8.1 之后,执行 mvn clean package 命令后会报错如下:
maven-default-http-blocker (<http://0.0.0.0/>): Blocked mirror for repositories
分析
maven在3.8.1 的默认配置文件中增加了一组标签,如果仓库镜像是http 而不是https 就会被拦截禁止访问,而当前公司私服一般是http 而不支持https.
解决思路
思路一: 降低Maven 版本到3.8.1 以下
思路二:增加节点
示例如下:
<mirror>
<id>insecure-repo</id>
<mirrorOf>external:http:*</mirrorOf>
<url><http://www.ebi.ac.uk/intact/maven/nexus/content/repositories/ebi-repo/></url>
<blocked>false</blocked>
</mirror>
思路三:将镜像仓库从http 变成https
思路四:注释掉 $MAVEN_HOME/conf/settings.xml 中的拦截标签
解决方案
找到Maven安装目录
编辑 $M2_HOME/conf/settings.xml
注释如下代码
<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>