Maven - Plugins

O que são plug-ins Maven?

O Maven é na verdade uma estrutura de execução de plug-ins onde cada tarefa é feita por plug-ins. Os plug-ins Maven geralmente são usados ​​para -

  • criar arquivo jar
  • criar arquivo de guerra
  • compilar arquivos de código
  • teste de unidade de código
  • criar documentação do projeto
  • criar relatórios de projeto

Um plugin geralmente fornece um conjunto de objetivos, que podem ser executados usando a seguinte sintaxe -

mvn [plugin-name]:[goal-name]

Por exemplo, um projeto Java pode ser compilado com o objetivo de compilação do maven-compiler-plugin's, executando o seguinte comando.

mvn compiler:compile

Tipos de plug-in

O Maven forneceu os dois tipos de plug-ins a seguir -

Sr. Não. Tipo e descrição
1

Build plugins

Eles são executados durante o processo de construção e devem ser configurados no elemento <build /> de pom.xml.

2

Reporting plugins

Eles são executados durante o processo de geração do site e devem ser configurados no elemento <reporting /> do pom.xml.

A seguir está a lista de alguns plug-ins comuns -

Sr. Não. Plugin e descrição
1

clean

Limpa o alvo após a construção. Exclui o diretório de destino.

2

compiler

Compila arquivos fonte Java.

3

surefire

Executa os testes de unidade JUnit. Cria relatórios de teste.

4

jar

Constrói um arquivo JAR do projeto atual.

5

war

Constrói um arquivo WAR a partir do projeto atual.

6

javadoc

Gera Javadoc para o projeto.

7

antrun

Executa um conjunto de tarefas de formigas de qualquer fase mencionada na construção.

Example

Nós usamos maven-antrun-pluginextensivamente em nossos exemplos para imprimir dados no console. Consulte o capítulo Build Profiles. Vamos entender melhor e criar um pom.xml na pasta 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>

Em seguida, abra o console de comando e vá para a pasta que contém pom.xml e execute o seguinte mvn comando.

C:\MVN\project>mvn clean

O Maven iniciará o processamento e a exibição da fase limpa do ciclo de vida limpo.

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------
[INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0
[INFO]    task-segment: [post-clean]
[INFO] ------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [antrun:run {execution: id.clean}]
[INFO] Executing tasks
     [echo] clean phase
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Sat Jul 07 13:38:59 IST 2012
[INFO] Final Memory: 4M/44M
[INFO] ------------------------------------------------------------------

O exemplo acima ilustra os seguintes conceitos-chave -

  • Os plug-ins são especificados em pom.xml usando o elemento plug-ins.

  • Cada plugin pode ter vários objetivos.

  • Você pode definir a fase de onde o plug-in deve iniciar seu processamento usando seu elemento de fase. Nós usamosclean fase.

  • Você pode configurar tarefas a serem executadas vinculando-as aos objetivos do plugin. Nós ligamosecho tarefa com runobjetivo do maven-antrun-plugin .

  • O Maven fará o download do plugin se não estiver disponível no repositório local e iniciará seu processamento.