ara*_*ata 6 maven maven-mirroring
在我过去的项目中,我遇到了以 http 开头的依赖项问题,就像这个Maven Build Failure -- DependencyResolutionException 一样。解决方案是为项目添加镜像工作正常。虽然现在在另一个项目中我使用相同的依赖项,具有相同的设置,但我仍然收到错误消息。有什么想法吗?
小智 62
覆盖该镜像,让它对dummy协议做出反应。在本地${HOME}/.m2/settings.xml指定:
<mirrors>
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:dummy:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
</mirrors>
Run Code Online (Sandbox Code Playgroud)
Cat*_*ord 41
如果 Stanislav Kardashov 的解决方案没有帮助,只需删除(或注释掉)maven settings.xml 中的整个 http-blocker 镜像即可。
路径(如斯坦尼斯拉夫回答中指出):/usr/share/maven/conf/settings.xml
<!--
<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>
-->
Run Code Online (Sandbox Code Playgroud)
Maven 现在默认禁用所有不安全的 http://* 镜像。这是 maven 维护者的解释:http : //maven.apache.org/docs/3.8.1/release-notes.html#cve-2021-26291
现在越来越多的存储库使用 HTTPS,但情况并非总是如此。这意味着 Maven Central 包含带有自定义存储库的 POM,这些存储库通过 HTTP 引用 URL。这使得通过此类存储库下载的内容成为 MITM 攻击的目标。同时,开发人员可能没有意识到某些下载使用了不安全的 URL。由于上传到 Maven Central 的 POM 是不可变的,因此需要对 Maven 进行更改。为了解决这个问题,我们使用参数扩展了镜像配置,并添加了一个新的 external:http:* 镜像选择器(类似于现有的 external:*),意思是“任何使用 HTTP 的外部 URL”。决定默认阻止此类外部 HTTP 存储库:这是通过在 conf/settings.xml 中提供一个镜像来阻止不安全的 HTTP 外部 URL 来完成的。
解决方案(出于上述安全原因不推荐)可能是<blocked>从默认 Maven settings.xml 文件 (/usr/share/maven/conf/settings.xml) 中的镜像列表中删除部分
小智 8
C:-> 用户-> your_user_name -> .m2 -> settings.xml
将此镜像添加到您的settings.xml 文件中。
<mirror>
<id>jaspersoft-third-party-mirror</id>
<mirrorOf>jaspersoft-third-party</mirrorOf>
<url>http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/</url>
<blocked>false</blocked>
</mirror>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6969 次 |
| 最近记录: |