Desde que actualicé a Maven 3 recibo los siguientes mensajes de advertencia en cada compilació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.
maven
maven-plugin
maven-3
Istao
fuente
fuente
Respuestas:
Agregue un
<version>
elemento después de<plugin>
<artifactId>
en supom.xml
archivo. Encuentra el siguiente texto:Agregue la etiqueta de versión:
La advertencia debe resolverse.
Con respecto a este:
Muchas personas han mencionado por qué está ocurriendo el problema, pero no sugieren una solución. Todo lo que necesitaba hacer era ir a mi archivo POM para mi proyecto y agregar la
<version>
etiqueta como se muestra arriba.Para descubrir el número de versión, una forma es mirar la salida de Maven después de que termine de ejecutarse. Cuando faltan números de versión, Maven mostrará su versión predeterminada:
Tome ese número de versión (como en el
2.3.2
anterior) y agréguelo a su POM, como se muestra.fuente
Corre como:
para complementos que no tienen versión. Obtienes salida:
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 de Java favorito debe tener el diálogo de búsqueda de paquetes de Maven . Solo revisa los documentos.
SUPER ACTUALIZACIÓN También uso:
Recientemente descubrí cómo obtener la última versión para el complemento (o biblioteca) para que ya no necesite buscar en Google o visitar Maven Central :
fuente
mvn help:describe -Dplugin=groupId:artifactId
Maven 3 es más restrictivo con la estructura POM. Tienes que configurar 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
fuente
Obtenga la información de la última 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 dependencia (a partir de 2019-05 es 3.8.1):
es posible que desee utilizar la etiqueta de versión y el comentario para su etiqueta de complemento.
si lo desea, puede modificar su pom para tener la información de la versión en la etiqueta de propiedades como se describe en otra respuesta.
fuente
Estoy usando un pom padre para mis proyectos y quería especificar las versiones en un solo lugar, así que utilicé las propiedades para especificar la versión:
padre pom:
proyecto pom:
Ver también: https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/
fuente
Es una gran respuesta aquí. Y quiero agregar 'Por qué agregar un elemento en Maven3'.
En Maven 3.x Notas de compatibilidad
Y también encuentro en maven-compiler-plugin - uso
fuente
Busque "maven-jar-plugin" en pom.xml y agregue la etiqueta de versión maven version
fuente