web-dev-qa-db-fra.com

Dépendances de mise à jour Maven dans POM

Existe-t-il des plugins ou des commandes Maven préexistants pour mettre à jour les dépendances dans le POM? Exemple: (si c'était dans mon POM)

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.3</version>
</dependency> 

Existe-t-il une commande ou un plugin que je peux exécuter pour obtenir la mise à jour de la dépendance vers:

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.4</version>
</dependency> 
54
javamonkey79

Essayez le maven-versions-plugin , en particulier l'objectif versions: use-latest-versions .

59
Dominic Mitchell

Je préfère utiliser versions mvn: display-dependency-updates ; cela génère un rapport dont les dépendances peuvent être mises à niveau, mais vous permet de modifier les POM vous-même. Il existe également une commande display-plugin-updates pour les plugins.

28
piepera

vous pouvez utiliser dependencyManagement dans votre pom parent:

<dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>commons-lang</groupId>
              <artifactId>commons-lang</artifactId>
              <version>2.4</version>
          </dependency>
      </dependencies>
</dependencyManagement>

de cette façon, vous devez modifier la version une seule fois dans le POM parent

4
rperez

Personnellement, je pense qu'il devrait y avoir un paramètre supplémentaire dans maven qui vous permettrait d'ajouter au pom.xml.

Voir l'article sur http://maven.40175.n5.nabble.com/Is-there-any-maven-plugin-to-add-dependency-to-existing-pom-xml-td2839092.html#a577285

Ici, vous pouvez ajouter ce qui suit à votre fichier pom.xml:

<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>2.1</version>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

...

Sauvegardez ensuite votre fichier pom.xml via la commande version set:

mvn versions:set -DnewVersion=9.9.9

Exécutez les dernières versions:

mvn versions:use-latest-versions

et diff les fichiers pom.xml, pom.xml et pom.xml.versionsBackup

3
Scott Izu

Non, il n'y en a pas. Et soyez heureux qu'il n'y en ait pas. Comment un tel outil pourrait-il savoir comment mettre à niveau vos dépendances?

Avec des ruptures pouvant se produire entre des versions mineures, ce serait un désastre en attente de se produire.


Mais vous pouvez toujours écrire votre propre Mojo pour cela.

  • obtenir la dernière version de la dépendance à partir du référentiel Maven
  • comparer avec la version de pom.xml
  • réécrire pom.xml
  • courir mvn test
  • ?
  • Profit!
0
Robert Munteanu