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.