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.