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:
- validate
- generate-sources
- process-sources
- generate-resources
- process-resources
- 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:
- <properties>
- <maven.compiler.release>11</maven.compiler.release>
- </properties>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- </plugin>
- </plugins>
- </pluginManagement>
- </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
Deixe um comentário