Comment mettre à jour la version d'un plugin maven?

J'utilise la version 2.3.1 du plugin Maven-ear-je sais qu'il y a une nouvelle version disponible: http://maven.apache.org/plugins/maven-ear-plugin/

Je ne peux pas travailler sur la mise à niveau vers la dernière version?

23
demandé sur Ahmed Ashour 2009-04-24 20:13:45

4 réponses

Les versions par défaut du plugin sont héritées du Super POM, et vous pouvez les vérifier avec mvn help:effective-pom.

Si vous voulez remplacer la version fournie, ajoutez ceci à votre POM:

<project>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.1</version>
      </plugin>
    </plugins>
  </build>
</project>

Remplacez la version par ce dont vous avez besoin.

15
répondu andri 2018-04-25 12:16:39

Même si cela a déjà obtenu la "réponse approuvée", il s'avère qu'il y a ce plugin AWESOME versions qui gère le problème de maintenance de version sans fin.

Pour les paresseux voici quelques-uns de ses objectifs:

  • versions: display-dependency-updates analyse les dépendances d'un projet et produit un rapport des dépendances dont les versions les plus récentes sont disponibles.
  • versions:affichage-plugin-mises à jour de l'analyse d'un projet plugins et produit un rapport de ces plugins, qui ont des versions plus récentes disponibles.
  • versions: display-property-updates analyse un projet et produit un rapport des propriétés qui sont utilisées pour contrôler les versions d'artefacts et des propriétés qui ont des versions plus récentes disponibles.
  • versions: update-parent met à jour la section parent d'un projet afin qu'elle fasse référence à la dernière version disponible. Par exemple, si vous utilisez un POM racine d'entreprise, cet objectif peut être utile si vous devez vous assurer que vous utilisez la dernière version du POM racine d'entreprise.
  • versions: update-properties met à jour les propriétés définies dans un projet afin qu'elles correspondent à la dernière version disponible des dépendances spécifiques. Cela peut être utile si une suite de dépendances doit Toutes être verrouillée sur une version.
  • versions: update-child-modules met à jour la section parent des modules enfants d'un projet afin que la version corresponde à la version du projet. projet en cours. Par exemple, si vous avez un agrégateur pom qui est également le parent des projets qu'il agrège et que les versions enfants et parents ne sont pas synchronisées, ce mojo peut aider à corriger les versions des modules enfants. (Notez que vous devrez peut-être appeler Maven avec l'option-N pour exécuter cet objectif si votre projet est si mal cassé qu'il ne peut pas construire à cause de la mauvaise correspondance de la version).
  • versions: lock-snapshots recherche dans le pom les versions les remplace par la version actuelle de l'horodatage de ce-SNAPSHOT, par exemple-20090327.172306-4
  • versions: déverrouiller-snapshots recherche dans le pom toutes les versions de snapshot verrouillé par horodatage et les remplace par-SNAPSHOT.
  • versions: set peut être utilisé pour définir la version du projet à partir de la ligne de commande.
  • versions: use-releases recherche dans le pom les versions ALL-SNAPSHOT qui ont été publiées et les remplace par la version correspondante version.
  • versions: use-next-releases recherche dans le pom toutes les versions non-SNAPSHOT qui ont été une version plus récente et les remplace par la version suivante.
  • versions: use-latest-releases recherche dans le pom toutes les versions non-SNAPSHOT qui ont été une version plus récente et les remplace par la dernière version.
  • versions: utilisez-next-snapshots recherche dans le pom toutes les versions non-SNAPSHOT qui ont été un SNAPSHOT plus récent version et les remplace par la version next-SNAPSHOT.
  • versions: utilisez-latest-snapshots recherche dans le pom toutes les versions non-SNAPSHOT qui ont été une version-SNAPSHOT plus récente et les remplace par la dernière version-SNAPSHOT.
  • versions: use-next-versions recherche dans le pom toutes les versions qui ont été une version plus récente et les remplace par la version suivante.
  • versions:utilisez-les dernières versions recherche dans le pom de toutes les versions qui ont été une version plus récente et les remplace par la dernière version.
38
répondu Pat 2015-07-10 21:11:48

Comment la version d'un plugin est sélectionnée, ainsi que la discussion sur les versions du plugin dans le superpom est traitée en détail ici .

En fait, la réponse actuellement sélectionnée n'est pas tout à fait correcte. Il devrait être

<project>
  <build>
   <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.1</version>
      </plugin>
    </plugins>
   </pluginManagement>
  </build>
</project>

Je l'ai expliqué pourquoi ici:

" la section Plugins standard permet également de définir la version et la configuration par défaut, et c'est là que réside la confusion. Il est techniquement valide de définir la version et la valeur par défaut du plugin configuration ici, mais je trouve plus facile de grok le pom en suivant cette directive:

Si le bloc de plugin ne définit pas une exécution (et donc lie maven à faire quelque chose dans le cycle de vie), mettez ce bloc dans pluginManagment "

8
répondu Brian Fox 2018-04-25 12:16:48

Certains plugins maven sont limités aux versions maven. Par exemple, généralement les projets ici utilisent Maven 2.0.4, qui est limité à utiliser le plugin war 2.0.2-cela fonctionne avec des superpositions. Le 2.1-alpha quoi que ce soit, cependant, que Maven 2.0.9 utilise, ne le fait pas - nous avons donc dû rétrograder manuellement. Maven, sauf indication contraire, tentera d'utiliser la dernière version d'un plugin qu'il peut selon sa version.

2
répondu MetroidFan2002 2009-04-24 18:29:42