1.问题描述:
Maven执行“mvn clean package”后报如下错误
maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories
错误原因是因为Maven在升级到3.8.1以后,从安全角度考虑,默认将非https的远端仓库屏蔽掉了。
2.解决方案:
- 把Maven版本降到3.8.1以下
- 让远端仓库支持https
- 为每一个非http源增加如下mirror配置(源比较多的话会比较麻烦)(但本人测试方法4和5没解决,最后用这个方法解决掉的)
<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>
- 注释掉默认配置文件$MAVEN\_HOME/conf/settings.xml中的相关block设置
<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>
- 使用dummy镜像覆盖掉默认配置中的镜像配置。在~/.m2/settings.xml中添加如下mirror配置
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:dummy:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>false</blocked>
</mirror>
同样遇到这个问题,不过第5个方法,应该把true改成false,改了之后就是好使的