idea maven编译报错 Blocked mirror for repositories: [xxx]
idea maven编译报错 Blocked mirror for repositories: [xxx]
前言
idea 在构建maven项目的时候,可能会遇到各种各样的错误。本文将分享一个常见的错误并给出具体的解决方案。
问题还原
在进行Maven项目编译时,如果未正确配置本地Maven环境,可能会遇到以下错误:
com.xxx.xxx:pom:2.1.0-Greenwich.SR5 failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of maven-default-http-blocker has elapsed or updates are forced. Original error: Could not transfer artifact com.xx.xx:parent:pom:2.1.0-Greenwich.SR5 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [nexus-releases (http://nexus.xxx.com:8083/nexus/content/groups/public/, default, releases+snapshots)]
Since Maven 3.8.1 http repositories are blocked.
Possible solutions:
- Check that Maven pom files do not contain http repository http://nexus.xxx.com:8083/nexus/content/groups/public/
- Add a mirror(s) for http://nexus.xxx.com:8083/nexus/content/groups/public/ that allows http url in the Maven settings.xml
- Downgrade Maven to version 3.8.1 or earlier in settings
问题分析
从Maven 3.8.1版本开始,为了提高安全性,Maven默认不再支持通过HTTP协议访问仓库。这导致尝试从HTTP仓库获取依赖时会失败。
解决方案
以下是几种解决上述问题的方法:
将私服地址修改为支持HTTPS
修改Maven的 settings.xml 文件和项目的 pom.xml 文件,将仓库地址从HTTP更改为HTTPS。
确保你的私服支持HTTPS,可能需要配置SSL证书。
在 settings.xml 中添加镜像:
在 settings.xml 文件中为HTTP仓库添加一个镜像,该镜像允许使用HTTP URL。例如:
<mirrors>
<mirror>
<id>nexus-mirror</id>
<mirrorOf>nexus-releases</mirrorOf>
<name>Nexus Mirror</name>
<url>https://nexus.xxx.com:8083/nexus/content/groups/public/</url>
</mirror>
</mirrors>
降级Maven版本
如果无法将仓库切换到HTTPS,可以考虑将Maven版本降级到3.8.1或更早版本。
在 settings.xml 文件中配置Maven版本,或直接替换Maven安装包。
例如说降低maven版本为 3.5.2 检查这三个地方配置 确保配置无误
官方下载地址: 点我
选择对应的版本下载即可 点进去后选择binaries文件夹 这里存放的都是二进制文件 下载即可使用 source 这里存放的是源码 需要自行编译

检查POM文件
确保项目的 pom.xml 文件中没有引用错误的仓库地址。
检查是否有不必要的HTTP仓库引用,并将其更新为正确的HTTPS地址。
强制更新:
通过在命令行中添加 -U 参数来强制Maven更新依赖:
mvn -U clean install
验证解决方案
在应用上述任何解决方案后,重新尝试编译项目,并检查是否还有错误发生。如果问题解决,项目应该能够成功编译。
Maven配置最佳实践
配置代理
如果你在一个需要代理才能访问外部网络的环境中,确保在settings.xml中正确配置了代理。
使用可靠的镜像
配置一个或多个可靠的镜像来加速依赖下载,比如阿里云镜像、中央仓库镜像。
配置本地仓库
指定一个足够大的硬盘空间来存储本地仓库,避免空间不足导致构建失败。
使用环境变量:
使用环境变量MAVEN_HOME和M2_HOME来指定Maven的安装目录,并将其添加到PATH变量中。
Maven问题解决技巧
查看详细的错误日志
使用-X参数来获取Maven构建过程中的调试信息。
清理项目
定期使用mvn clean命令清理项目,以确保从干净的状态开始构建。
更新Maven
定期更新Maven到最新稳定版本,以获得最新的功能和安全修复。
检查Java版本:
确保使用的Java版本与Maven版本兼容。
总结
Maven项目编译时遇到仓库访问问题通常是由于配置不当或Maven版本更新导致的安全性变更。通过将仓库地址切换到HTTPS、添加镜像或降级Maven版本,可以有效地解决这些问题。
good day!!!
更多推荐




所有评论(0)