IDEA升级到2021.3之后Maven私有仓库挂了,怎么办?
作者 | 码农小胖哥
更新到Intellij IDEA 2021.3之后,Maven出问题了!无法从Maven私有仓库下载依赖了。
提示要从maven-default-http-blocker
下载,难道不应该去私仓下载吗?
如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/
原因
原来IDEA更新到2021.3后内置Maven的版本提升到了3.8.1。
Maven3.8.1发布一个变更(CVE-2021-26291):
由于使用 HTTP 的自定义存储库可能导致中间人攻击。现在越来越多的存储库使用 HTTPS,但情况并非总是如此。这意味着 Maven Central 包含带有自定义存储库的 POM,这些存储库通过 HTTP 引用 URL。这使得通过此类存储库下载的内容成为攻击目标。开发人员可能没有意识到某些下载使用了不安全的 URL。由于上传到 Maven Central 的 POM 是不可变的,因此需要对 Maven 进行更改。
为了解决这个问题,从3.8.1开始setting.xml
会增加一个默认镜像maven-default-http-blocker
来阻止从HTTP链接下载不安全的依赖库。
<mirror>
<id>maven-default-http-blockerid>
<mirrorOf>external:http:*mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.name>
<url>http://0.0.0.0/url>
<blocked>trueblocked>
mirror>
因为我们的Maven私有仓库是内网部署的,并没有去设置HTTPS,导致这个问题也就不足为奇了。
解决办法
既然找到了原因,解决这个问题就很简单了。最简单的方法就是降级IDEA版本或者不使用内置的Maven;最好的方法就是升级到HTTPS。如果你想维持现状就需要把setting.xml
中的默认镜像(上面给出的xml标签)给删除掉。
如果你是Toolbox安装的话,在Windows下路径为:
C:\Users\你的用户\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\数字文件名\plugins\maven\lib\maven3\conf
我猜想都应该在安装目录的插件文件夹下的\maven\lib\maven3\conf
路径下,你可以找找看。
还有小伙伴吐槽 2021.3 升级后不能无限试用了,正好看到一个方法,大家可以关注公众号 TJ君,回复IDEA2021.3,试试看吧