7

IDEA升级到2021.3之后,Maven私有仓库不能用的解决

 2 years ago
source link: https://blog.didispace.com/idea2021-3-maven-private-repo-not-work/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

IDEA升级到2021.3之后,Maven私有仓库不能用的解决

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

<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下路径为:

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

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

本文作者:码农小胖哥,
原文链接:https://mp.weixin.qq.com/s/1go69A0uhiadVb-mOrd5mA
版权归作者所有,转载请注明作者、原文、译者等出处信息

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK