Tutorial Maven: tudo o que você precisa saber para começar



Este blog no tutorial do Maven cobre tudo o que você precisa saber para começar a usar o Maven para construir seus projetos.

Em vez de escrever longos scripts para construir seus projetos e baixar manualmente as dependências, por que não usar o Maven e se livrar dessa bagunça. Este blog no tutorial do Maven cobrirá tudo o que você precisa para começar a usar o Maven em seu projeto. Depois de entender completamente este tutorial do Maven, a próxima etapa provável será aprender Jenkins, que cobre a fase de integração contínua do .

Neste tutorial do blog no Maven, abordaremos os seguintes tópicos:

  1. Por que precisamos do Maven?
  2. O que é Maven?
  3. Arquitetura Maven
  4. Ciclo de vida, fases e objetivos do Maven
  5. Projeto de demonstração.

Por que precisamos do Maven?

Se você está trabalhando em projetos Java, na maioria das vezes precisa de dependências. Dependências nada mais são do que bibliotecas ou arquivos JAR. Você precisa fazer o download e adicioná-los manualmente. Além disso, a tarefa de atualizar a pilha de software do seu projeto era feita manualmente antes do Maven. Portanto, havia a necessidade de uma ferramenta de construção melhor para lidar com esses problemas.





É aí que Maven entra em cena. O Maven pode resolver todos os seus problemas relacionados às dependências. Você só precisa especificar as dependências e a versão do software que deseja no arquivo pom.xml no Maven e o Maven cuidará do resto.Portanto, agora vamos tentar entender o que exatamente é Maven.

O que é Maven?

O projeto Maven é desenvolvido pela Apache Software Foundation, onde antes fazia parte do projeto Jakarta. Maven é uma ferramenta de automação de construção poderosa que é usada principalmente para projetos baseados em Java. Maven ajuda você a lidar com dois aspectos críticos da construção de software -



  • Descreve como o software é construído
  • Ele descreve as dependências.

Maven prefere convenção em vez de configuração. O Maven faz download dinamicamente de bibliotecas Java e plug-ins Maven de um ou mais repositórios, como o Repositório Central Maven, e os armazena em um cache local. Os artefatos dos projetos locais também podem ser atualizados com este cache local. O Maven também pode ajudá-lo a construir e gerenciar projetos escritos em C #, Ruby, Scala e outras linguagens.

O arquivo Project Object Model (POM) é um arquivo XML que contém informações relacionadas ao projeto e informações de configuração, como dependências, diretório de origem, plug-in, objetivos, etc., usado pelo Maven para construir o projeto. Quando você executa um comando maven, você dá ao maven um arquivo POM para executar os comandos. O Maven lê o arquivo pom.xml para realizar sua configuração e operações.

Objetivos Maven

Objetivos Maven

Quando alguém deve usar o Maven?

    1. Se houver muitas dependências para o projeto.
    2. Quando a versão da dependência é atualizada com frequência.
    3. Construções, integração e testes contínuos podem ser facilmente tratados com o maven.
    4. Quando se precisa de uma maneira fácil de gerar documentação a partir do código-fonte, compilando o código-fonte, empacotando o código compilado em arquivos JAR ou ZIP.

Arquitetura Maven

Ciclo de vida, fases e objetivos do Maven

1. Ciclo de vida do Maven



Há um ciclo de vida específico que o Maven segue para implantar e distribuir o projeto de destino.

java parse string até o momento

Existem três ciclos de vida integrados:

  • padrão - Este é o principal ciclo de vida do Maven, pois é responsável pela implantação do projeto.
  • limpar limpo - Este ciclo de vida é usado para limpar o projeto e remover todos os arquivos gerados pela construção anterior.
  • local - O objetivo deste ciclo de vida é criar a documentação do local do projeto.

Cada ciclo de vida é composto por uma sequência de fases. O ciclo de vida de construção padrão consiste em 23 fases, pois é o ciclo de vida de construção principal do Maven

Por outro lado, o ciclo de vida limpo consiste em 3 fases, enquanto o ciclo de vida do local é composto de 4 fases.

2. Fases Maven

Uma fase do Maven nada mais é do que um estágio no ciclo de vida de construção do Maven. Cada fase executa uma tarefa específica.

Aqui estão algumas fases importantes no ciclo de vida de construção padrão -

  • validar - Esta fase verifica se todas as informações necessárias para a construção estão disponíveis
  • compilar - Esta fase compila o código fonte
  • teste-compilar - Esta fase compila o código-fonte do teste
  • teste - Esta fase executa testes de unidade
  • pacote - Esta fase empacota o código-fonte compilado no formato distribuível (jar, war)
  • teste de integração - Esta fase processa e implanta o pacote se necessário para executar testes de integração
  • instalar - Esta fase instala o pacote em um repositório local
  • implantar - Esta fase copia o pacote para o repositório remoto

O Maven executa as fases em uma ordem específica. Isso significa que se executarmos uma fase específica usando o comando como mvn, isso não executará apenas a fase especificada, mas também todas as fases anteriores.

Por exemplo, se você executar o comando mvn deploy, ou seja, a fase de implantação, que é a última fase do ciclo de vida de construção padrão, isso também executará todas as fases anteriores à fase de implantação.

3. Metas Maven

Uma sequência de objetivos constitui uma fase e cada objetivo executa uma tarefa específica. Quando você executa uma fase, o Maven executa todos os objetivos em uma ordem associada a essa fase. A sintaxe usada é plugin: objetivo. Algumas das fases e as metas padrão vinculadas a elas são as seguintes:

  • compilador: compilar - fase de compilação
  • compilador: teste - fase de teste-compilação
  • surefire: teste - fase de teste
  • instalar: instalar - fase de instalação
  • jar and war: war - fase de pacote

Um plugin Maven é um grupo de objetivos. No entanto, esses objetivos não estão necessariamente vinculados à mesma fase.Por exemplo, o plugin Maven Failsafe que é responsável por executar testes de integração. Para testes de unidade, você precisa do plugin Maven surefire.

Projeto Demo

Nesta seção do Maven tutorial, vamos dar uma olhada em um projeto de demonstração. Para demonstrar como construir um projeto usando Maven, criei um Projeto Java junto com TestNG usando Eclipse IDE. Este é um programa muito simples, onde escrevi um código para testar o título de um site.

O programa iniciará automaticamente um navegador da web, navegará até o site mencionado no código, buscará o título dessa página da web e o comparará com o título esperado. Se o título real e o título esperado corresponderem, o caso de teste será aprovado, caso contrário, ele falhará.

Então, para este projeto, você precisa , Maven e Eclipse baixados em seu sistema. As versões que estou usando em meu sistema são as seguintes -

  1. Eclipse - Enterprise Edition versão 4.12.0 (06 2019)
  2. Java - versão 1.8.0_211
  3. Maven - versão 3.6.1
  • Além disso, você precisa baixar o plugin TestNG para Eclipse e pode baixá-lo usando as seguintes etapas -
    • Abra o Eclipse e vá para Ajuda. Em Ajuda, clique no mercado Eclipse.
    • Digite TestNG na caixa Localizar e clique em Ir. Nos resultados, você verá “TestNG for Eclipse”. Você precisa fazer o download.
  • Depois de configurar seu sistema com as coisas mencionadas acima, você está pronto para criar um projeto de demonstração usando o Maven. Portanto, agora vou lhe dizer todas as etapas necessárias para fazer isso.
    • No Eclipse, clique em Arquivo -> Novo -> Projeto Maven.
    • Clique em Criar um projeto simples (pule a seleção de arquétipo) e clique em Avançar.
  • Agora você verá uma janela com parâmetros como ID do grupo, ID do artefato e assim por diante.
    • ID do grupo é o ID exclusivo de um grupo que possui o projeto.
    • ID do artefato é o nome da unidade de compilação final.
    • Versão é a versão do artefato criado. SNAPSHOT indica trabalho em andamento.
    • A embalagem pode ser jar, war ou pom dependendo do seu projeto. Para nosso projeto, selecionaremos jar. Em seguida, dê o nome do seu projeto.

exemplo java de invocação de método remoto
  • Depois de criar o projeto, você verá a estrutura do seu projeto Maven. Aqui você pode ver as seguintes coisas -
    • pom.xml
    • src e alvo
    • src / main / java
    • src / test / java
    • Dependências Maven
  • Agora crie um arquivo de classe em src / main / test e nomeie-o DemoClass. Esta classe contém o código Selenium que estamos usando para teste. Agora adicionamos Selenium, dependências TestNG e compilador Maven e plug-in Surefire ao arquivo pom.xml. O código para DemoClass e pom.xml é fornecido abaixo:
pacote maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {@Test public void test () throws InterruptedException {// declaração e instanciação de objetos / variáveis ​​//System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver driver = new FirefoxDriver () // comente as 2 linhas acima e descomente abaixo de 2 linhas para usar o Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = new ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String expectTitle = 'Bem-vindo: Mercury Tours' String actualTitle = '' // lançar Fire fox e direcioná-lo para a URL base driver.get (baseUrl) // obter o valor real do título actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * compare o título real da página com o esperado e imprima * o resultado como 'Aprovado' ou 'Reprovado' * / if (actualTitle.contentEquals (expectedTitle)) {System.out.println ('Teste aprovado!')} else {System.out.println ('Teste falhou')} // feche Fire fox driver.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 teste
  • Antes de executar o projeto, precisamos converter o arquivo de classe DemoClass em um arquivo TestNG. Para fazer isso, clique com o botão direito em DemoClass -> TestNG -> Converter em TestNG.

  • Agora, para executar o projeto, clique com o botão direito em um projeto -> Executar como -> Maven clean. Isso limpará o projeto removendo todas as compilações anteriores.

  • Após a limpeza do Maven, você precisa testar o projeto, já que escrevemos o código para testar o aplicativo da web. Portanto, clique com o botão direito em projeto -> Executar como -> Teste Maven. Isso abrirá o site e corresponderá ao título do site. Se corresponder, nosso caso de teste será aprovado.

  • Também podemos executar os comandos acima usando um prompt de comando. Para isso, precisamos do caminho do arquivo pom.xml.

    • Você pode obter o caminho clicando com o botão direito no arquivo pom.xml -> Propriedades -> Localização.
    • Copie o caminho, abra um prompt de comando e cole-o usando cd. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Depois de fazer isso, você pode digitar novamente os comandos Maven, como mvn clean e mvn test.

Então é isso do meu lado neste blog no tutorial do Maven. Espero que você tenha entendido as coisas que discutimos neste tutorial do Maven.

Agora que você entendeu este tutorial do Maven, confira este pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka DevOps Certification Training ajuda os alunos a entender o que é DevOps e ganhar experiência em vários processos e ferramentas DevOps, como Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack e GIT para automatizar várias etapas no SDLC.

Tem alguma questão para nós? Mencione isso na seção de comentários deste tutorial do Maven e entraremos em contato com você