Maven: comando para atualizar o repositório após adicionar dependência ao POM

256

Adicionei uma nova dependência ao meu POM.

Existe um comando simples que eu possa executar para baixar essa dependência no meu repositório?

JJ180
fonte
Para aqueles que procuram como fazer isso em um projeto Spring Boot: use mvnwpara chamar a camada do wrapper. Os comandos nesta página funcionam com ele.
G_V 24/07/19

Respostas:

178

mvn install(ou mvn package) sempre funcionará.

Você pode usar mvn compilepara baixar dependências de tempo de compilação ou mvn testpara dependências de tempo de compilação e teste, mas eu prefiro algo que sempre funcione.

Aaron Digulla
fonte
2
Obrigado, também descobri que adicioná-lo ao pom no STS fará o download automaticamente para você.
JJ180
15
A resposta de @Andrew Spencer é mais precisa - mvn dependency:xxxlide apenas com dependências e não faça nada adicional - e era disso que se tratava a pergunta.
Botchniaque
Às vezes, 'mvn package' pode não atualizar dependências. Aconteceu-me mais do que once.One precisa ser executado 'dependência mvn: determinação' em tais casos
Binita Bharati
1
@BinitaBharati, você pode adicionar -U à linha de comando do Maven para forçar downloads de dependência. Isso é útil se o Maven não baixar uma dependência atualizada devido a um tempo limite do cache.
BamaPookie
1
@Kishan Faça uma nova pergunta. Mostre o layout do seu projeto (especialmente onde isso importacontece) e se você usa uma compilação de vários módulos.
Aaron Digulla
611

Se você deseja apenas baixar dependências sem fazer mais nada, então é:

mvn dependency:resolve

Ou para baixar uma única dependência:

mvn dependency:get -Dartifact=groupId:artifactId:version

Se você precisar fazer o download de um repositório específico, poderá especificar isso com -DrepoUrl=...

Andrew Spencer
fonte
2
Eu recebo este erro quando executo esse comando: [ERRO] Falha ao executar o objetivo org.apache.maven.plugins: maven-dependency-plugin: 2.1: get (default-cli) no projeto standalone-pom: Os parâmetros 'repositoryUrl' para o objetivo org.apache.maven.plugins: maven-dependency-plugin: 2.1: get está ausente ou é inválido -> [Ajuda 1]. Especificar -DrepositoryUrl = ... não funciona.
Chry Cheng 28/03/12
1
Eu acho que encontrei a solução. O parâmetro deve ser "repoUrl" e não "repositoryUrl".
Chry Cheng 29/03/12
Não resolve o problema para mim: eu corro mvn package -ologo depois - recebo o erro de que os plug-ins não podem ser baixados. A execução mvn dependency:resolve-pluginstambém não resolve completamente o problema.
Innokenty 22/02
Os URLs do seu repositório podem estar ausentes / incorretos. De qualquer forma, não acho que essa resposta seja a resposta para o problema que você está tendo. Esta resposta cobre o caso em que o Maven pode encontrar todos os artefatos necessários nos repositórios configurados.
Andrew Spencer
Eu não me importo se você é um crente ou não, um cristão ou não ... Deus te abençoe esta incrível resposta simples.
Salathiel Genèse
12

Eu sei que é uma pergunta antiga agora, mas para usuários que estão usando o Mavenplugin com Eclipse under Windows, você tem duas opções:

  1. Se você instalou o Maven como um aplicativo independente:

    Você pode usar o seguinte comando no CMDcaminho do seu projeto:

    mvn eclipse:eclipse

    Ele atualizará seu repositório com todos os jars ausentes, de acordo com suas dependências no seu pom.xmlarquivo.

  2. Se você não tiver o Maven instalado como um aplicativo independente, siga estas etapas no seu eclipse:

    Clique com o botão direito do mouse em project-> Run As-> Run configurations.

    Depois selecione mavenBuild.

    Em seguida, clique no newbotão para criar uma configuração do tipo selecionado. Clique no espaço de trabalho Procurar, selecione seu projeto e, em metas, especifiqueeclipse:eclipse

Você pode consultar como executar o comando mvn eclipse: eclipse para obter mais detalhes.

cнŝdk
fonte
3
Executando eclipse: eclipse após dependência: resolver me ajudou a ver os frascos baixados no eclipse, obrigado!
Anatoly Yakimchuk 22/03
2
Embora essa resposta ajude as pessoas pobres presas ao Eclipse, recomendo fortemente que qualquer pessoa que use o Eclipse encontre uma alternativa melhor. Especialmente se você estiver usando o Maven. O Netbeans e o IntelliJ estão anos-luz à frente.
64BitBob
@ 64BitBob Supondo que o Netbeans e o IntelliJ sejam melhores que o eclipse, devemos sempre dar uma solução para quem o usa. :)
cнŝdk
Vejo que o plug-in não está mais disponível no mercado, mas sim, ele funciona no Eclipse 2020 sem baixar nada. Gostaria de saber se mvn eclipse: eclipse é o comando enviado pelo próprio eclipse quando clicamos com o botão direito-> Maven-> Atualizar projeto ...
Paolo
@ Paolo Na minha opinião, eles adicionaram automaticamente o plug-in em novas versões do Eclipse, e sim, acho que é o mesmo comando por trás da opção "Atualizar projeto".
cнŝdk 25/03
1

Preste atenção ao seu escopo de dependência. Eu estava tendo o problema em que, quando invocava a compilação limpa via Intellij, o pom era baixado, mas o jar não. Houve um arquivo xxx.jar.lastUpdated criado. Então percebi que o escopo da dependência era teste, mas eu estava acionando a compilação. Excluí os repositórios, iniciei o teste mvn e o problema foi resolvido.

Ponteiro nulo
fonte
-4

Direito, clique no projeto. Vá para Maven -> Atualizar projeto.

As dependências serão instaladas automaticamente.

Ashish Pandey
fonte
É assim que se faz no Eclipse.
user1364368
às vezes, e é eventual, não longe isso funciona, alguns comandos como o pacote mvn, instalar dependência: determinação pode resolver o seu problema
Sham Fiorin