McF*_*iez 8 java maven-3 maven
在 3.9.0 中,Maven 引入了远程存储库过滤。
\n从理论上讲,这听起来很棒:
\n\n\n想象一下,您可以指示 Maven 哪个存储库可以包含什么工件?Maven 可以通过受控方式直接到达所需的远程存储库,而不是在远程存储库中以 \xe2\x80\x9cordered 循环\xe2\x80\x9d 搜索工件。
\n
直到你看到细则:
\n\n\nMaven Central (MC) 存储库在这方面很特别,因为 Maven 将始终尝试从这里获取东西,因为您的构建、插件、插件依赖项、扩展等通常来自这里。虽然您可以过滤 MC,但过滤 MC 通常是一个坏主意(过滤,如 \xe2\x80\x9c 限制来自它的内容 \xe2\x80\x9d)。另一方面,MC 本身提供了帮助来防止请求泄漏给它(请参阅 \xe2\x80\x9cprefixes\xe2\x80\x9d 过滤器)。
\n
\n\n因此,最常见的是限制 \xe2\x80\x9c 可以从 MC 获取 \xe2\x80\x9d 的内容是一个坏主意,它可以完成,但要以非常非常谨慎的方式进行,否则您的构建将面临风险。RRF 不区分工件的 \xe2\x80\x9ccontext\xe2\x80\x9d ,它只是通过(工件,remoteRepository)对过滤掉它们,并且通过限制 MC,您可以轻松进入破坏构建的状态(因为插件取决于过滤的工件)。
\n
我的个人存储库中有一堆罐子。即使它们在我的 ~/.m2 中被明确标记为这样:
\n#NOTE: This is a Maven Resolver internal implementation file, its format can be \nchanged without prior notice.\n#Fri May 12 21:15:32 PDT 2023\nmy-commons-2.1.0.pom>personal=\nmy-commons-2.1.0.jar>personal=\nRun Code Online (Sandbox Code Playgroud)\n一旦我更新到 3.9.X,maven 就会不断尝试从中心获取它:
\n[INFO] Artifact com.personal.space:my-commons:pom:2.1.0 is \npresent in the local repository, but cached from a remote repository ID that is \nunavailable in current build context, verifying that is downloadable from [central. \n(https://repo.maven.apache.org/maven2, default, releases)]\nRun Code Online (Sandbox Code Playgroud)\n我到底如何为我自己的个人存储库关闭此功能?他们的文档中谈到了过滤以及其他内容,但我已经摆弄过,但没有任何效果。
\n| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |