gpt4 book ai didi

maven - purge-local-repository 实际清除了什么?

转载 作者:行者123 更新时间:2023-12-04 03:49:23 34 4
gpt4 key购买 nike

我正在 maven 项目目录中运行以下命令:

mvn dependency:purge-local-repository

什么是预期行为?

它会删除(并重新下载?)我本地存储库中已存在的所有依赖项 那个特定的项目 (即我所在的目录)还是会删除 全部 我本地仓库的内容?

最佳答案

默认情况下, purge-local-repository 将从本地存储库中删除与其运行的项目的每个依赖项(包括传递)的版本相关联的所有文件:

Remove the project dependencies from the local repository, and optionally re-resolve them.



发挥作用的几个因素是:
  • 默认情况下,插件会清除传递依赖项;这可以通过 actTransitively 进行配置范围。
  • 默认情况下,所有从本地存储库中清除的 Artifact 都会重新解析;这可以通过 reResolve 进行配置范围。
  • 从本地存储库中清除的实际文件对应于与已清除 Artifact 的版本相关联的所有文件。例如,如果依赖项 foo:bar:1.0已清除,路径 foo/bar/1.0/* 下的所有文件将被移除。这可以通过 resolutionFuzziness 进行配置参数(其默认值为 version ):
  • artifactId 的值将清除被清除 Artifact 的 Artifact ID 路径下的所有文件。在上面的示例中,foo/bar/** 下的所有文件将被清除(因此,所有版本都被删除)。
  • groupId 的值将清除路径下的所有文件到要清除的 Artifact 的组 ID。在上面的示例中,foo/** 下的所有文件将被清除(因此,所有 Artifact ID 的所有版本都将被删除)。
  • file 的值只会清除正在清除的 Artifact 的文件。在上面的例子中,只有文件 bar-1.0.jar*将被删除(这包括他们可能拥有的任何 sha1)。它不会清除关联的 POM 文件。

  • 您可以通过使用 list 打印项目的所有依赖项列表来查看将要清除哪些 Artifact 。目标:
    mvn dependency:list

    可选地添加 excludeTransitive 到此命令,如果您决定不清除传递依赖项。

    关于maven - purge-local-repository 实际清除了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40381906/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com