问题
Since Maven 3.8.1 http repositories are blocked.
Possible solutions:
- Check that Maven settings.xml does not contain http repositories
- Check that Maven pom files do not contain http repository http://192.168.100.235:8081/repository/maven-public
- Add a mirror(s) for http://192.168.100.235:8081/repository/maven-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+ 默认阻止HTTP仓库,当工程通过 <repositories>
或 settings.xml
调用如 http://192.168.100.235:8081/repository/maven-public
这类HTTP仓库时,会触发安全拦截机制。
错误信息指出关键问题:
Blocked mirror for repositories: [public (http://192.168.100.235:8081/repository/maven-public)]
解决方案
1. 确保构建流程不使用HTTP仓库(推荐)
如果团队有HTTPS仓库地址,应优先使用HTTPS。
2. 手动调整Maven配置允许HTTP
若必须使用HTTP协议,需调整 settings.xml
以允许它。以下是具体步骤:
步骤一:覆盖默认HTTP拦截器
在 Maven 的 settings.xml
中强制绕过默认拦截逻辑。
-
定位
settings.xml
- 用户级配置文件:
~/.m2/settings.xml
- 全局配置文件:
Maven安装目录/conf/settings.xml
- 用户级配置文件:
-
修改
<mirrors>
部分
找到<mirrors>
标签,添加以下配置来覆盖默认的HTTP拦截器:<mirror> <id>maven-default-http-blocker<