Maven “Blocked mirror for repositories” 错误解决办法

问题描述:

Maven执行“mvn clean package”后报如下错误

maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories

错误原因是因为Maven在升级到3.8.1以后,从安全角度考虑,默认将https的远端仓库屏蔽掉了。

解决方案:

  1. 把Maven版本降到3.8.1以下
  2. 让远端仓库支持https
  3. 为每一个非http源增加如下mirror配置(源比较多的话会比较麻烦)
<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>
  1. 注释掉默认配置文件$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>
  1. 使用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>true</blocked>
        </mirror>

你可能感兴趣的:(java,maven)