Objetivo del tema
En este tema conocerás qué son los plugins en Apache Maven, cómo se integran en el ciclo de vida, cuáles son los plugins esenciales, cómo configurarlos en pom.xml
y qué herramientas puedes sumar para pruebas, documentación y reportes.
Un plugin es una extensión que aporta objetivos (goals) ejecutables dentro de las fases del ciclo de vida. Maven se apoya en ellos para compilar, probar, empaquetar y desplegar proyectos. Puedes consultar el catálogo oficial en la documentación de plugins.
Algunos plugins vienen preconfigurados y cubren tareas habituales en la construcción de aplicaciones Java.
maven-compiler-plugin
: controla la compilación del código fuente y permite fijar la versión de Java.maven-surefire-plugin
: ejecuta pruebas unitarias durante la fase test.maven-jar-plugin
: genera archivos JAR a partir de las clases compiladas.maven-resources-plugin
: copia recursos a la carpeta de salida respetando codificaciones.maven-deploy-plugin
: publica artefactos en repositorios remotos durante la fase deploy.Conocer sus configuraciones y parámetros te permite adaptar el ciclo de vida a necesidades concretas sin reinventar procesos.
Los plugins se configuran en la sección <build>
del POM. Puedes alterar parámetros, versiones o incluso cambiar el objetivo asociado a una fase.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
<executions>
permite agregar o modificar objetivos asociados a fases específicas.Además de Surefire, existen plugins que amplían las posibilidades de pruebas unitarias, integración y cobertura.
maven-failsafe-plugin
: orientado a pruebas de integración; se ejecuta en las fases integration-test y verify.jacoco-maven-plugin
: genera reportes de cobertura basados en JaCoCo.test
para que los plugins los detecten.Definir perfiles específicos para pruebas de integración o performance ayuda a separar sus ejecuciones del ciclo habitual de desarrollo.
Maven ofrece plugins orientados a producir documentación, reportes de calidad y sitios navegables.
maven-site-plugin
: genera el sitio del proyecto a partir de reportes registrados.maven-javadoc-plugin
: crea la documentación Javadoc para librerías.maven-project-info-reports-plugin
: agrega reportes de dependencias, licencias y configuración al sitio.Automatizar la generación de reportes facilita que equipos técnicos y responsables de calidad accedan a información actualizada sin procesos manuales.
Los plugins son el motor del ciclo de vida de Maven. Saber elegir, configurar y combinar plugins de compilación, pruebas y reportes permite personalizar el pipeline sin perder las ventajas declarativas del POM. Con una configuración cuidada obtendrás construcciones reproducibles, métricas objetivas y documentación generada automáticamente.