Advertencias de Maven 3 sobre build.plugins.plugin.version

Desde que actualicé a Maven 3 recibo los siguientes mensajes de advertencia en cada comstackción:

¿Cómo puedo deshacerme de estas advertencias?

[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-compiler-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. 

Agregue un elemento después del en su archivo pom.xml . Encuentra el siguiente texto:

  maven-compiler-plugin 

Agregue la etiqueta de la versión a ella:

  maven-compiler-plugin 2.3.2 

La advertencia debe ser resuelta.

Con respecto a este:

‘build.plugins.plugin.version’ para org.apache.maven.plugins: maven-compiler-plugin falta

Muchas personas han mencionado por qué está sucediendo el problema, pero no sugieren una solución. Todo lo que tenía que hacer era ir a mi archivo POM para mi proyecto y agregar la etiqueta como se muestra arriba.

Para descubrir el número de versión, una forma es buscar en la salida de Maven después de que termine de ejecutarse. Donde faltan números de versión, Maven mostrará su versión predeterminada:

 [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ entities --- 

Tome ese número de versión (como en el 2.3.2 anterior) y agréguelo a su POM, como se muestra.

Correr como:

   $ mvn help: describe -DadifactId = maven-war-plugin -DgroupId = org.apache.maven.plugins

para el complemento que no tiene versión. Obtienes resultado:

 Nombre: Maven WAR Plugin
 Descripción: crea un archivo de archivo de aplicaciones web (WAR) del proyecto
   salida y sus dependencias.
 ID de grupo: org.apache.maven.plugins
 Id de artefacto: maven-war-plugin
 Versión: 2.2
 Prefijo del objective: guerra

Use la versión que se muestra en la salida.

ACTUALIZACIÓN Si desea seleccionar entre la lista de versiones, use http://search.maven.org/ o http://mvnrepository.com/ Tenga en cuenta que su IDE Java favorito debe tener el cuadro de diálogo de búsqueda de paquetes de Maven . Solo revisa los documentos.

SUPER UPDATE también uso:

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

Recientemente descubrí cómo obtener la última versión para el complemento (o biblioteca), por lo que ya no necesito buscar en Google o visitar Maven Central :

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

Maven 3 es más restrictivo con la estructura POM. Tienes que establecer versiones de complementos, por ejemplo.

Con Maven 3.1 estas advertencias pueden romper tu construcción. Hay más cambios entre maven2 y maven3: https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes

Estoy usando un pom padre para mis proyectos y quería especificar las versiones en un solo lugar, así que usé las propiedades para especificar la versión:

pom padre:

  ....  2.3.2  ....  

proyecto pom:

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

Ver también: https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/

obtener la última información de la versión de:

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

haga clic en la última versión (o la que le gustaría usar) y verá la información de la dependencia:

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

es posible que desee utilizar la etiqueta de versión y el comentario para su etiqueta de complemento.

   maven-compiler-plugin 3.6.1      

si lo desea, puede modificar su pom para tener la información de la versión en la etiqueta de propiedades como se indica en otra respuesta.

Es una gran respuesta aquí. Y quiero agregar ‘Por qué agregar un elemento en Maven3’.
En las notas de compatibilidad de Maven 3.x

Resolución de metaversión del complemento
Internamente, Maven 2.x utilizó los marcadores de versión especial RELEASE y LATEST para admitir la resolución automática de la versión del complemento. Estas metaversions también se reconocieron en el elemento para una statement. En aras de comstackciones reproducibles, Maven 3.x ya no admite el uso de estas metaversions en el POM. Como resultado, los usuarios necesitarán reemplazar las ocurrencias de estas metaversions con una versión concreta.

Y también encuentro en maven-compiler-plugin – use

Nota: Maven 3.0 emitirá advertencias si no especificas la versión de un complemento.

Busque “maven-jar-plugin” en pom.xml y agregue la versión de la versión maven de la versión