Construindo um Projeto

Na pasta onde está o projeto digite: mvn package.

O comando irá imprimir várias ações e no fim se deu certo deve ter a palavra Build Success para afirmar que deu certo.

[INFO] ————————————————————————

[INFO] BUILD SUCCESS

[INFO] ————————————————————————

[INFO] Total time:  18.665 s

[INFO] Finished at: 2020-02-03T09:58:11-03:00

[INFO] ————————————————————————

Diferente do primeiro comando executado (archetype:generate) você pode notar que o segundo é simplesmente uma palavra + package.

Isso é uma fase. Uma fase é um passo no build lifecycle, que há muitas outras. Quando uma fase é iniciada, Maven irá executar cada fase na sequência até o seu fim.

Por exemplo, se nós executamos a fase compile, as fases anteriores foram:

  1. validate
  2. generate-sources
  3. process-sources
  4. generate-resources
  5. process-resources
  6. compile

Você pode compilar e empacotar o programa em um JAR com o seguinte comando:

java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

Se tudo der certo será apresentado na tela:

Hello World!

Java 9 ou Superior

Por padrão sua versão de Maven pode utilizar versões antigas do maven-compiler-plugin que não é compatível com o Java 9 ou versões superiores.

Para utilizar o Java 9 ou superior, você deve pelo menos estar utilizando a versão 3.6.0 do maven-compiler-plugin que é definido pelo maven.compiler.release que está pronto para o Java 9 e superiores.

No exemplo a seguir, configuramos o projeto Maven para utilizar a versão 3.8.1 do maven-compiler-plugin com o Java 11:

  1. <properties>
  2. <maven.compiler.release>11</maven.compiler.release>
  3. </properties>
  4.  
  5. <build>
  6. <pluginManagement>
  7. <plugins>
  8. <plugin>
  9. <groupId>org.apache.maven.plugins</groupId>
  10. <artifactId>maven-compiler-plugin</artifactId>
  11. <version>3.8.1</version>
  12. </plugin>
  13. </plugins>
  14. </pluginManagement>
  15. </build>

Executando as Ferramentas do Maven

Aqui está as fases mais comuns para o lifecycle ser executado.

  • validate: validar o projeto é validar todas as informações avaliadas.
  • compile: compilar o código do projeto.
  • test: testar o código compilado utilizando um framework de teste unitário. Esses testes não devem exigir que o código seja empacotado ou implantado.
  • package: pega o código e empacota em um formato de distribuição, no caso como JAR.
  • Integration-test: processar e construir o pacote se necessário dentro de um ambiente onde os testes de integração podem ser executados.
  • verify: execute qualquer verificação para verificar se o pacote é válido e atende aos critérios de qualidade.
  • install: instalar o pacote dentro do repositório local, para utilizar como dependência em outros projetos locais.
  • deploy: fazer a integração ou lançar o ambiente, copiar os pacotes finais para o repositório remoto para compartilhar com outros projetos e desenvolvedores.

Antes do passo deploy há dois passos antes o:

  • clean: limpar artefatos e criar um build primário.
  • site: gerar o site de documentação para o projeto.

Fases são na verdade mapeamentos secundários. Os objetivos específicos executados por fase dependem do tipo de embalagem do projeto.

Por exemplo, pacotes que executam jar:jar se o projeto é do tipo JAR e war:war se o projeto é do tipo WAR.

Algo interessante é que as fases e objetivos podem ser executados em sequência.

mvn clean dependency:copy-dependecies package

O comando irá limpar o projeto, cópias de dependências e pacotes de projetos (executando todas as fases que listamos anteriormente).

Gerando o Site

mvn site

Essa fase gera um site (documentação) baseado nas informações do pom do projeto. Você pode ver o site gerando na pasta target/site.

Conclusão Espero que essa visão geral tenha lhe despertado o interesse sobre o Maven. No próximo artigo vamos continuar a explorar a documentação do Maven.

Fonte: https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!