Plugins e objetivos do Maven
Personalize a compilação.
Plugins e objetivos do Maven é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.
Plug-ins e objetivos do Maven
O Maven por si só quase não faz nada — todo o trabalho real é executado por plug-ins. Um plug-in fornece objetivos, e os objetivos são associados a fases do ciclo de vida. Esta lição mostra como os plug-ins personalizam uma compilação.
Plug-ins versus objetivos
Um plug-in é uma coleção empacotada de recursos relacionados. Um objetivo é uma tarefa específica dentro de um plug-in. Por exemplo, o plug-in do compilador fornece os objetivos compile e testCompile.
Coordenadas de objetivos
Você pode invocar um objetivo diretamente como plugin:goal. Por exemplo, mvn compiler:compile ou mvn surefire:test. Normalmente, os objetivos são executados automaticamente porque estão associados a fases.
Associações de fases
O tipo de empacotamento padrão associa previamente plug-ins padrão a fases. Em um projeto jar, o objetivo compile do plug-in do compilador é associado à fase compile, e o objetivo test do plug-in Surefire é associado a test — por isso mvn test funciona imediatamente.
Configurando o compilador
Você configura um plug-in dentro de <build><plugins>. Aqui, definimos o nível de versão do Java para que o compilador gere código para uma versão específica.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<release>21</release>
</configuration>
</plugin>
</plugins>
</build>O plug-in Surefire
O Surefire executa testes unitários durante a fase test. Você pode configurar quais testes incluir, o paralelismo e os argumentos da JVM. Seu plug-in irmão, o Failsafe, executa testes de integração na fase verify.
Associando uma execução extra
Um bloco <execution> associa explicitamente um objetivo a uma fase, opcionalmente com sua própria configuração. É assim que você adiciona trabalho extra, como gerar código antes da compilação.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>print-banner</id>
<phase>generate-sources</phase>
<goals><goal>run</goal></goals>
</execution>
</executions>
</plugin>Criando um JAR completo
O JAR padrão não inclui dependências. O plug-in Shade (ou o plug-in Assembly) reúne tudo em um único JAR executável independente, associando seu objetivo à fase package.
O plug-in Exec
O plug-in Exec permite executar sua aplicação a partir do Maven com mvn exec:java, especificando a classe principal. É útil para execuções rápidas sem empacotamento.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>com.example.App</mainClass>
</configuration>
</plugin>Gerenciamento de plug-ins
Em uma compilação com vários módulos, <pluginManagement> no POM pai fixa as versões dos plug-ins e a configuração compartilhada. Os módulos filhos então referenciam o plug-in sem repetir a versão, mantendo as compilações consistentes.
Descobrindo a configuração
Use mvn help:describe -Dplugin=compiler para listar os objetivos e parâmetros de um plug-in. Esta é a maneira mais rápida de descobrir quais opções um plug-in oferece sem sair do terminal.
Verificação rápida
Teste sua compreensão dos plug-ins e objetivos.
Recapitulação
Você aprendeu como funcionam os plug-ins do Maven:
- Todo o trabalho real de compilação é executado por plug-ins, que fornecem objetivos.
- Os objetivos são associados a fases do ciclo de vida, por isso as fases padrão funcionam imediatamente.
- Configure os plug-ins em
<build><plugins>; adicione execuções para associações extras. - Shade/Assembly criam JARs completos; Exec executa a aplicação; Surefire/Failsafe executam testes.
mvn help:describerevela os objetivos e parâmetros de um plug-in.
Perguntas Frequentes
A aula “Plugins e objetivos do Maven” é grátis?
Sim — o texto completo de “Plugins e objetivos do Maven” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.
O que vou aprender em “Plugins e objetivos do Maven”?
Personalize a compilação. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Plugins e objetivos do Maven”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estrutura de projetos Maven
- Plugins e objetivos do Maven
- Fundamentos do Gradle
- Escolhendo uma ferramenta de compilação