Maven (erro) limpa o armazém local

Estou executando o seguinte comando no diretório do projeto maven:

alvo limpo

mvn clean -U

Limpe os pacotes maven no warehouse local do qual o projeto depende

dependência mvn:purge-local-repository


Ele excluirá (e baixará novamente?) Todas as dependências que já existem em meu repositório local para  esse projeto específico  (ou seja, o diretório em que estou) ou excluirá  todo o  conteúdo do meu repositório local?

Melhor resposta

Por padrão,  purge-local-repository  removerá do repositório local todos os arquivos associados às versões de todas as dependências (incluindo transitivas) do projeto em que é executado:

Remova as dependências do projeto do repositório local e, opcionalmente, resolva-as novamente.


Alguns fatores que entram em jogo são:
  • Por padrão, o plug-in limpa as dependências transitivas; isso é  configurável com escopo por meio de actTransitively  .
  • Por padrão, todos os artefatos removidos do repositório local são resolvidos novamente; isso é  configurável com escopo por meio de reResolve  .
  • Os arquivos reais limpos do repositório local correspondem a todos os arquivos associados à versão do artefato que foi limpo. Por exemplo, se as dependências  foo:bar:1.0forem limpas,  foo/bar/1.0/* todos os arquivos no caminho serão removidos. Isso pode  ser configurado  por meio do version parâmetroresolutionFuzziness (seu valor padrão  ):
  • 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 到此命令,如果您决定不清除传递依赖项。

演示:

 

Acho que você gosta

Origin blog.csdn.net/qq_61324603/article/details/130334787
Recomendado
Clasificación