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

Plugin Maven

O Maven possui os seguintes três ciclos de vida padrão:

  • clean: Tratamento da limpeza do projeto

  • default(ou build): Tratamento da distribuição do projeto

  • site: Tratamento da criação de documentos do site do projeto

Cada ciclo de vida contém uma série de estágios (phase). Esses phase são相当于 as interfaces unificadas fornecidas pelo Maven, e a implementação desses phase é feita pelos plugins do Maven.

Quando estamos digitando o comando mvn, por exemplo mvn clean, clean corresponde ao estágio clean do ciclo de vida Clean. No entanto, a operação específica de clean é feita por maven-clean-plugin implementado.

Portanto, a implementação específica de cada fase do ciclo de vida do Maven é implementada por plugins Maven.

O Maven é realmente uma framework de execução de plugins de dependência, onde cada tarefa é realmente concluída pelos plugins. Os plugins Maven geralmente são usados para:

  • Criar arquivo jar

  • Criar arquivo war

  • Compilar arquivo de código

  • Teste unitário de código

  • Criar documento do projeto

  • Criar relatório do projeto

Os plugins geralmente oferecem uma coleção de objetivos e podem ser executados usando a seguinte sintaxe:

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

Por exemplo, um projeto Java pode usar Maven-compiler-compilação do plugin-O objetivo de compilar, use a seguinte comando:

<code>mvn compiler:compile</code>

Tipos de Plugin

O Maven oferece os seguintes dois tipos de plugins:

TipoDescrição
Plugins de ConstruçãoExecutar durante a construção e configurar no elemento do pom.xml.
Plugins de RelatórioExecutar durante a geração do site e configurar no elemento do pom.xml.

A seguir, está uma lista de plugins comuns:

PluginDescrição
cleanLimpar arquivos de destino após a construção. Excluir o diretório de destino.
compilerCompilar arquivos de origem Java.
surefileExecutar testes unitários JUnit. Criar relatório de teste.
jarconstruir um arquivo JAR a partir do projeto atual.
warconstruir um arquivo WAR a partir do projeto atual.
javadocgerar Javadoc para o projeto.
antrunpara executar uma coleção de tarefas ant de qualquer fase do processo de construção.

Exemplo Online

já usamos amplamente em nosso exemplo. maven-antrun-plugin para输出数据 para a consola. Maven - Configuração de Construção Seção. Vamos entender essa parte de uma maneira melhor, crie um arquivo pom.xml no diretório 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>/groupId>
<artifactId>project/artifactId>
<version>1.0/version>
<build>
<plugins>
   <plugin>
   <groupId>org.apache.maven.plugins</groupId>/groupId>
   <artifactId>maven-antrun-plugin/artifactId>
   <version>1.1</version>
   <executions>
      <execution>
         <id>id.clean</id>/id>
         <phase>clean</phase>/phase>
         <goals>
            <goal>run</goal>/goal>
         </goals>
         <configuration>
            <tasks>
               <echo>clean phase</echo>/echo>
            </tasks>
         </configuration>
      </execution>     
   </executions>
   </plugin>
</plugins>
</build>
</project>

Em seguida, abra o terminal de comando e navegue para o diretório onde o arquivo pom.xml está localizado, e execute o comando mvn a seguir.

mvn clean

O Maven começará a processar e exibir a fase clean do ciclo de vida clean.

[INFO] Escaneando por projetos...
[INFO] ------------------------------------------------------------------
[INFO] Construção de无名 - com.companyname.projectgroup:project:jar:1.0
[INFO]      tarefa-segmento: [pós-clean]
[INFO] ------------------------------------------------------------------
[INFO] [clean:clean {execution: default-}]
[INFO] [antrun:run {execution: id.clean}]
[INFO] Executando tarefas
     [echo] fase clean
[INFO] Tarefas Executadas
[INFO] ------------------------------------------------------------------
[INFO] CONSTRUÇÃO BEM-SUCEDIDA
[INFO] ------------------------------------------------------------------
[INFO] Tempo Total: < 1 segundo
[INFO] Finalizado em: Sáb Jul 07 13:38:59 IST 2012
[INFO] Memória Final: 4M/44M
[INFO] ------------------------------------------------------------------

O exemplo acima ilustra os seguintes conceitos principais:

  • Os plugins são definidos usando o elemento plugins no pom.xml.

  • Cada plugin pode ter vários alvos.

  • Você pode definir fases, o plugin usará o elemento phase para começar a processar. Já usamos clean fase.

  • Você pode configurar as tarefas executando as alvos do plugin. Já configuramos echo tarefa para o maven-antrun-do plugin run Objetivo.

  • É assim, o Maven vai cuidar das outras coisas. Ele vai baixar os plugins que não estão no repositório local e começar a processar.