para - maven-compiler-plugin
Maven 3 advertencias sobre build.plugins.plugin.version (7)
Agregue un elemento <version>
después de <plugin>
<artifactId>
en su archivo pom.xml
. Encuentra el siguiente texto:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
Agregue la etiqueta de versión a ella:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
La advertencia debe ser resuelta.
Con respecto a este:
''build.plugins.plugin.version'' para org.apache.maven.plugins: falta el compilador-compilador-plugin
Muchas personas han mencionado por qué está ocurriendo 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 <version>
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.
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.
Busque "maven-jar-plugin" en pom.xml y agregue la versión de la etiqueta maven version
Corre como
$ mvn help:describe -DartifactId=maven-war-plugin -DgroupId=org.apache.maven.plugins
Para plug-in que no tienen versión. Obtienes salida:
Name: Maven WAR Plugin Description: Builds a Web Application Archive (WAR) file from the project output and its dependencies. Group Id: org.apache.maven.plugins Artifact Id: maven-war-plugin Version: 2.2 Goal Prefix: war
Utilice 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 . Sólo tienes que consultar docs.
SUPER ACTUALIZACIÓN Yo 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 la biblioteca), por lo que ya no es necesario buscar en Google o visitar Maven Central :
$ mvn versions:display-dependency-updates
$ mvn versions:display-plugin-updates # <-- THIS
Es una gran respuesta aquí. Y quiero agregar ''Por qué agregar un elemento en Maven3''.
In https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes
Resolución Metaversión Del Plugin
Internamente, Maven 2.x usó los marcadores de versión especiales RELEASE y LATEST para admitir la resolución automática de la versión del complemento. Estas metaversiones también fueron reconocidas en el elemento para una declaración. Por motivos de compilaciones reproducibles, Maven 3.x ya no admite el uso de estas metaversiones en el POM. Como resultado, los usuarios deberán reemplazar las ocurrencias de estas metaversiones con una versión concreta.
Y también encuentro en maven-compiler-plugin - uso
Nota: Maven 3.0 emitirá advertencias si no especifica la versión de un complemento.
Estoy usando un pom principal para mis proyectos y quería especificar las versiones en un solo lugar, así que usé propiedades para especificar la versión:
padre pom:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
....
<properties>
<maven-compiler-plugin-version>2.3.2</maven-compiler-plugin-version>
</properties>
....
</project>
proyecto pom:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
....
<build>
<finalName>helloworld</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin-version}</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Ver también: https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/
Maven 3 es más restrictivo con la estructura POM. Tienes que configurar las versiones de complementos, por ejemplo.
Con Maven 3.1 estas advertencias pueden romperte construir. Hay más cambios entre maven2 y maven3: https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes
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 en la que le gustaría usar) y verá la información de dependencia:
<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
</dependency>
es posible que desee utilizar la etiqueta de versión y el comentario para su etiqueta de complemento.
<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source />
<target />
</configuration>
</plugin>
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.