English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Plugin de Maven

Maven tiene los siguientes tres ciclos de vida estándar:

  • clean: Procesamiento de limpieza del proyecto

  • default(o build): Procesamiento de despliegue del proyecto

  • site: Procesamiento de creación de documentos del sitio del proyecto

Cada ciclo de vida contiene una serie de fases (phase). Estas phase equivalen a las interfaces unificadas proporcionadas por Maven, y luego la implementación de estas phase se realiza por los plugins de Maven.

Cuando ingresamos el comando mvn, por ejemplo mvn clean, clean corresponde a la fase clean del ciclo de vida Clean. Pero las operaciones específicas de clean se realizan por maven-clean-plugin para implementar.

Por lo tanto, cada fase específica del ciclo de vida de Maven se implementa mediante plugins de Maven.

Maven es realmente un framework de ejecución de plugins de dependencia, cada tarea se realiza realmente por los plugins. Los plugins de Maven generalmente se utilizan para:

  • Crear archivo jar

  • Crear archivo war

  • Compilar archivos de código

  • Pruebas unitarias de código

  • Crear documentación del proyecto

  • Crear informe del proyecto

Los plugins generalmente proporcionan una colección de objetivos y pueden ejecutarse usando la siguiente sintaxis:

<code>mvn [plugin-name]:[goal-name]</code>

Por ejemplo, un proyecto de Java puede usar maven-compiler-Compile del plugin-Goal de compilación, usar la siguiente orden:

<code>mvn compiler:compile</code>

Tipos de plugin

Maven proporciona los siguientes dos tipos de plugins:

TipoDescripción
Plugins de construcciónEjecutarse durante la construcción y configurarse en el elemento de pom.xml.
Plugins de informeEjecutarse durante el proceso de generación del sitio web y configurarse en el elemento de pom.xml.

A continuación, se muestra una lista de plugins comunes:

PluginDescripción
cleanLimpiar archivos de destino después de la construcción. Eliminar directorio de destino.
compilerCompilar archivos de origen de Java.
surefileEjecutar pruebas unitarias de JUnit. Crear informe de pruebas.
jarConstruir un archivo JAR desde el proyecto actual.
warConstruir un archivo WAR desde el proyecto actual.
javadocGenerar Javadoc para el proyecto.
antrunEjecutar una serie de tareas ant desde cualquier fase del proceso de construcción.

Ejemplo en línea

que hemos utilizado en gran medida en nuestro ejemplo. maven-antrun-plugin para enviar datos a la consola de comandos. Por favor, revise Maven - Configuración de construcción Capítulo. Dejemos que entendamos mejor este contenido, creamos un archivo pom.xml en el directorio C:\MVN\project.

<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">
<modelVersion>4.0.0/modelVersion
<groupId>com.companyname.projectgroup/groupId>
<artifactId>project/artifactId>
<version>1.0/version>
<build>
<plugins>
   <plugin>
   <groupId>org.apache.maven.plugins/groupId>
   <artifactId>maven-antrun-plugin/artifactId>
   <version>1.1</version>
   <executions>
      <execution>
         <id>id.clean</id>
         <phase>clean</phase>
         <goals>
            <goal>run</goal>
         </goals>
         <configuration>
            <tasks>
               <echo>clean phase</echo>
            </tasks>
         </configuration>
      </execution>     
   </executions>
   </plugin>
</plugins>
</build>
</project>

A continuación, abra el terminal de comandos y navegue al directorio donde se encuentra pom.xml, y ejecute el siguiente comando mvn.

mvn clean

Maven comenzará a procesar y mostrar la fase de clean del ciclo de vida clean.

[INFO] Escaneando proyectos...
[INFO] ------------------------------------------------------------------
[INFO] Construyendo proyecto sin nombre - com.companyname.projectgroup:project:jar:1.0
[INFO] Tarea-segmento: [post-limpiar]
[INFO] ------------------------------------------------------------------
[INFO] [limpiar:limpiar {execution: default-clean}]
[INFO] [antrun:run {execution: id.clean}]
[INFO] Ejecutando tareas
     [echo] fase de limpiar
[INFO] Tareas ejecutadas
[INFO] ------------------------------------------------------------------
[INFO] CONSTRUCCIÓN EXITOSA
[INFO] ------------------------------------------------------------------
[INFO] Tiempo total: < 1 segundo
[INFO] Finalizado el 07 13:38:59 IST 2012
[INFO] Memoria final: 4M/44M
[INFO] ------------------------------------------------------------------

El siguiente ejemplo muestra los siguientes conceptos clave:

  • Los plugins se definen en pom.xml utilizando el elemento plugins.

  • Cada plugin puede tener múltiples objetivos.

  • Puedes definir etapas y el plugin comenzará a procesar utilizando su elemento phase. Hemos utilizado clean etapa.

  • Puedes configurar las tareas que deseas ejecutar mediante la asociación de objetivos del plugin. Hemos asociado echo Tarea a maven-antrun-del plugin run Objetivo.

  • Así es, Maven se encargará del resto. Descargará los plugins que no estén disponibles en el repositorio local y comenzará a procesar.