前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >升级到最新版本的IDEA后Maven私仓挂了

升级到最新版本的IDEA后Maven私仓挂了

作者头像
码农小胖哥
发布2021-12-09 13:49:16
1.5K0
发布2021-12-09 13:49:16
举报

更新到Intellij IDEA 2021.3之后,Maven出问题了!无法从Maven私有仓库下载依赖了。

提示要从maven-default-http-blocker下载,难道不应该去私仓下载吗?

原因

原来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链接下载不安全的依赖库。

代码语言:javascript
复制
    <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>

因为我们的Maven私有仓库是内网部署的,并没有去设置HTTPS,导致这个问题也就不足为奇了。

解决办法

既然找到了原因,解决这个问题就很简单了。最简单的方法就是降级IDEA版本或者不使用内置的Maven;最好的方法就是升级到HTTPS。如果你想维持现状就需要把setting.xml中的默认镜像(上面给出的xml标签)给删除掉。

如果你是Toolbox安装的话,在Windows下路径为:

代码语言:javascript
复制
C:\Users\你的用户\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\数字文件名\plugins\maven\lib\maven3\conf

我猜想都应该在安装目录的插件文件夹下的\maven\lib\maven3\conf路径下,你可以找找看。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农小胖哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原因
  • 解决办法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档