Maven 3 avertissements à propos de build.plugins.plugin.version

Depuis que j’ai mis à jour vers Maven 3, je reçois les messages d’avertissement suivants à chaque version:

Comment puis-je me débarrasser de ces avertissements?

[INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for proj:id:jar:3.1 [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ line 195, column 15 [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-comstackr-plugin is missing. @ line 204, column 15 [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 227, column 15 [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 215, column 15 [WARNING] 'reporting.plugins.plugin.version' for org.codehaus.mojo:jdepend-maven-plugin is missing. @ line 271, column 15 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 

Ajoutez un élément après le dans votre fichier pom.xml . Recherchez le texte suivant:

  maven-comstackr-plugin 

Ajoutez-y la balise de version:

  maven-comstackr-plugin 2.3.2 

L’avertissement doit être résolu.

En ce qui concerne:

‘build.plugins.plugin.version’ pour org.apache.maven.plugins: maven-comstackr-plugin est manquant

Beaucoup de gens ont mentionné pourquoi le problème se produit, mais ne parviennent pas à suggérer une solution. Tout ce que j’avais à faire était d’aller dans mon fichier POM pour mon projet et d’append la comme indiqué ci-dessus.

Pour découvrir le numéro de version, l’un des moyens consiste à rechercher dans la sortie de Maven une fois l’exécution terminée. S’il vous manque des numéros de version, Maven affichera sa version par défaut:

 [INFO] --- maven-comstackr-plugin:2.3.2:comstack (default-comstack) @ entities --- 

Prenez ce numéro de version (comme dans le 2.3.2 ci-dessus) et ajoutez-le à votre POM, comme indiqué.

Exécuter comme:

   $ mvn help: description -DartifactId = maven-war-plugin -DgroupId = org.apache.maven.plugins

pour le plug-in sans version. Vous obtenez une sortie:

 Nom: Plugin Maven WAR
 Description: Génère un fichier d'archive d'application Web (WAR) à partir du projet
   sortie et ses dépendances.
 ID de groupe: org.apache.maven.plugins
 ID d'artefact: maven-war-plugin
 Version: 2.2
 Préfixe de but: guerre

Utilisez la version affichée dans la sortie.

MISE À JOUR Si vous souhaitez sélectionner une liste de versions, utilisez http://search.maven.org/ ou http://mvnrepository.com/ Notez que votre IDE Java préféré doit avoir une boîte de dialog de recherche de package Maven . Il suffit de vérifier les documents.

SUPER UPDATE J’utilise aussi:

 $ mvn dependency:tree $ mvn dependency:list $ mvn dependency:resolve $ mvn dependency:resolve-plugins # <-- THIS 

Récemment, je découvre comment obtenir la dernière version pour un plug-in (ou une bibliothèque), donc plus besoin de googler ou de visiter Maven Central :

 $ mvn versions:display-dependency-updates $ mvn versions:display-plugin-updates # <-- THIS 

Maven 3 est plus ressortingctif avec la structure POM. Vous devez par exemple définir des versions de plug-ins.

Avec maven 3.1, ces avertissements peuvent vous empêcher de construire. Il y a plus de changements entre maven2 et maven3: https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes

J’utilise un pom parent pour mes projets et je voulais spécifier les versions en un seul endroit. J’ai donc utilisé des propriétés pour spécifier la version:

parent pom:

  ....  2.3.2  ....  

projet pom:

  ....  helloworld   org.apache.maven.plugins maven-comstackr-plugin ${maven-comstackr-plugin-version}  1.6 1.6      

Voir aussi: https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/

obtenir les dernières informations sur la version à partir de:

https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-comstackr-plugin

Cliquez sur la dernière version (ou celle que vous souhaitez utiliser) et vous verrez les informations sur la dépendance:

   org.apache.maven.plugins maven-comstackr-plugin 3.6.1  

vous voudrez peut-être utiliser la balise de version et le commentaire pour votre balise de plug-in.

   maven-comstackr-plugin 3.6.1      

Si vous le souhaitez, vous pouvez modifier votre pom pour avoir les informations de version dans la balise properties, comme indiqué dans une autre réponse.

C’est une excellente réponse ici. Et je veux append “Pourquoi append un élément dans Maven3”.
Dans Maven 3.x Notes de compatibilité

Résolution de métaversion de plugin
En interne, Maven 2.x a utilisé les marqueurs de version spéciaux RELEASE et LATEST pour prendre en charge la résolution automatique de la version du plug-in. Ces métaversions ont également été reconnues dans l’élément de déclaration. Par souci de reproductibilité, Maven 3.x ne prend plus en charge l’utilisation de ces métaversions dans le POM. Par conséquent, les utilisateurs devront remplacer les occurrences de ces métaversions par une version concrète.

Et je trouve aussi dans maven-comstackr-plugin – utilisation

Remarque: Maven 3.0 émettra des avertissements si vous ne spécifiez pas la version d’un plug-in.

Rechercher “maven-jar-plugin” dans pom.xml et append la version tag