Maven(报错) 清理本地仓库

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

清理target

mvn clean -U

清理该项目依赖的本地仓库中的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(报错) 清理本地仓库_第1张图片

 

你可能感兴趣的:(报错-解决大全,java,html,eclipse,maven)