Maven verifica dependências atualizadas no repositório


167

Existe um plug-in Maven que permite verificar se há versões mais recentes de dependências disponíveis no repositório?

Digamos que você esteja usando a dependência X com a versão 1.2. Agora, uma nova versão do X é lançada com a versão 1.3. Gostaria de saber, com base nas dependências usadas no meu projeto, quais dependências têm versões mais recentes disponíveis.


Respostas:


284

O plugin Maven Versions e seu display-dependency-updatesmojo são o que você procura:

mvn versions:display-dependency-updates

Aqui está a aparência da saída:

[INFO] ------------------------------------------------------------------------
[INFO] Building Build Helper Maven Plugin
[INFO]    task-segment: [versions:display-dependency-updates]
[INFO] ------------------------------------------------------------------------
[INFO] [versions:display-dependency-updates]
[INFO]
[INFO] The following dependency updates are available:
[INFO]   org.apache.maven:maven-artifact ........................ 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-project ....................... 2.0.2 -> 2.0.9
[INFO]   org.codehaus.plexus:plexus-utils ....................... 1.1 -> 1.5.6
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17 seconds
[INFO] Finished at: Fri Aug 15 10:46:03 IST 2008
[INFO] Final Memory: 10M/167M
[INFO] ------------------------------------------------------------------------

Obrigado Pascal. Era isso que eu estava procurando. Porém, para o Spring versão 3.0.1.RELEASE, ele relata uma versão mais recente do 2.5.6. Talvez um bug no plugin?
— precisa saber é o seguinte

1
@ Felix De nada. Em relação ao artefato do Spring, pergunto-me se o problema não se deve ao fato de o Spring não seguir a "regra" : a versão deve ser 3.0.1-RELEASE, não 3.0.1.RELEASE. Em outras palavras, não tenho certeza de que seja um bug (quero dizer, claro, eu esperaria que o plug-in relatasse 3.0.1.RELEASE como mais recente também, mas não tenho certeza se isso seria aceito como um bug).
— precisa saber é o seguinte

1
A verificação de atualizações maven-plugin-apitambém pode ser usada para verificar as versões mais recentes do Maven, uma vez que uma nova versão dessa dependência é lançada para todas as versões do Maven.
— Tunaki

É bom saber disso. No entanto, existe uma maneira de obter esse relatório quando criamos um projeto em vez de precisar digitar esse comando explicitamente?
— Frederic

33

Se desejar receber notificações por email quando versões mais recentes de artefatos estiverem disponíveis no Maven Central, você poderá criar uma conta no ouvinte de artefatos e escolher qual artefato deseja seguir.
Você pode procurar artefatos manualmente ou fazer upload diretamente do seu pom.xml.

Você receberá periodicamente notificações como esta (disponível em inglês e francês por enquanto):

Ouvinte de artefato do Maven


22

O plug-in VersionEye Maven está fazendo o mesmo: versioneye_maven_plugin .

O VersionEye também pode notificá-lo sobre novas versões nos repositórios Maven. É uma ferramenta independente de linguagem e, além do Java, suporta outras 7 linguagens. Além do simples recurso de acompanhamento / notificação, ele também pode monitorar diretamente os repositórios GitHub e BitBucket e notificar suas dependências desatualizadas em seus projetos.

insira a descrição da imagem aqui

Há também uma API REST JSON , para integrações de ferramentas.

A propósito, eu sou o cara que começou esse projeto. Deixe-me saber se você tem perguntas.


1
O projeto está encerrado :(
— Alireza Fattahi

3

Você pode usar o plug-in Versions Maven [1] para gerar relatórios em seu site Maven e obter uma lista de possíveis atualizações. No que diz respeito à irregularidade do Spring, parece usar o sistema de versões do Mercury [2]. Ao configurar o plug-in Versões, você pode adicionar uma regra especial para os itens do Spring:

  1. http://mojo.codehaus.org/versions-maven-plugin/
  2. http://docs.codehaus.org/display/MAVEN/Mercury+Version+Ranges

2
você poderia dar um exemplo?
— Zarathustra

1

Em projetos com grande número de dependências, você mantém suas versões em uma seção de propriedades.

    <properties>
        <assertj.version>3.15.0</assertj.version>
        <aws-sdk.version>1.11.763</aws-sdk.version>
        <cxf.version>3.3.6</cxf.version>

No caso de você estar interessado apenas em atualizações para essas versões, você pode usar o seguinte comando

mvn versions:display-property-updates

Isso fornece uma visão mais resumida e retorna apenas as versões que você precisa atualizar na seção de propriedades.


Resposta subestimada.
— ROMANIA_engineer 15/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.