0Pricing
Java Academy · Aula

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:describe revela 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

  1. Estrutura de projetos Maven
  2. Plugins e objetivos do Maven
  3. Fundamentos do Gradle
  4. Escolhendo uma ferramenta de compilação
← Voltar para Java Academy