JavaRush /Blogue Java /Random-PT /Parte 4: Noções básicas do Maven

Parte 4: Noções básicas do Maven

Publicado no grupo Random-PT
Este material faz parte da série “Introdução ao Desenvolvimento Empresarial”. Artigos anteriores: Parte 4. Noções básicas do Maven - 1Maven é uma ferramenta para gerenciar e construir projetos - um verdadeiro assistente para o programador Java. Facilita a vida do desenvolvedor em todas as etapas do trabalho: desde a criação da estrutura do projeto e conexão das bibliotecas necessárias até a implantação do produto no servidor. Ao trabalhar com qualquer framework, você terá que usar o Maven. Então, vamos dar uma olhada em suas principais funções hoje e ver como elas devem ser utilizadas.

Instalação passo a passo do Maven

  1. Primeiro você precisa instalar o Maven baixando-o neste link .

  2. Em seguida, você precisa descompactar o arquivo baixado e definir a variável de ambiente M2_HOME como um link para o local do arquivo descompactado. Por exemplo, C:\Arquivos de Programas\maven\

  3. Para verificar se tudo está instalado, escreva na linha de comando:

    versão mvn

  4. Se as informações de versão para Maven, Java, etc. forem exibidas, você está pronto para prosseguir.

  5. Agora abra o IntelliJIDEA e crie um novo projeto. Na primeira janela, selecione Maven:

    Parte 4. Noções básicas do Maven - 2
  6. Clique em Avançar e preencha a seguinte caixa de diálogo:

    Parte 4. Noções básicas do Maven - 3
  7. A seguir, crie um projeto no local desejado como padrão.

    Após a criação do projeto, preste atenção em sua estrutura:

    Parte 4. Noções básicas do Maven - 4
Esta é a estrutura padrão para um projeto Maven :
  • a pasta src/main/java contém classes java;
  • em src/main/resources - recursos que nossa aplicação utiliza (páginas HTML, imagens, folhas de estilo, etc.);
  • src/test - para testes.
Preste atenção também no arquivo chamado pom.xml . Este é o arquivo principal para gerenciar o Maven . A descrição completa do projeto está contida aqui. Ainda não há muitas informações, mas iremos adicioná-las agora.

Gerenciamento de Dependências no Maven

Você pode ter se deparado com a frase “gerente de dependência” ou “gerente de dependência”. Maven pode fazer tudo. Graças ao Maven, você não precisa gastar muito tempo procurando a biblioteca necessária na Internet, baixando-a e conectando-a ao projeto: basta adicionar a biblioteca necessária à lista de dependências do Maven. As dependências são escritas no nó XML de dependências. Digamos que você precise da biblioteca Apache Commons IO em seu projeto para simplificar o trabalho com arquivos. Para adicionar uma biblioteca, escreva cinco linhas em pom.xml:
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Seu pom.xml agora deve ficar assim:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Depois disso, permita que o IntelliJ IDEA importe a dependência (uma caixa de diálogo deve aparecer no canto inferior direito). Agora a biblioteca está pronta para uso:
import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Todas as dependências subsequentes também devem ser escritas dentro da tag <dependencies>. Você deve estar se perguntando: como saber quais informações você precisa incluir sobre uma biblioteca dentro da tag <dependency>? Tudo é simples aqui. Nesses casos, três parâmetros são sempre especificados: groupId, artefatoId e versão. Você pode descobrir esses parâmetros de duas maneiras:
  1. No site da biblioteca. Se precisarmos do Apache Commons IO, acesse o site oficial e selecione a guia Informações de Dependência. Todas as informações necessárias estão aqui - você pode simplesmente copiá-las e adicioná-las à nossa seção de dependências.

  2. No repositório Maven . Digite “apache commons io” na pesquisa e você verá todas as versões disponíveis da biblioteca. Após selecionar o que você precisa, basta copiar:

    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>

    e adicione ao seu pom.xml.

Tipos de repositórios Maven

Vale a pena mencionar novamente o repositório Maven, porque na verdade temos dois deles - externo (global) e local, no seu computador. Todas as bibliotecas que você adiciona aos seus projetos são salvas no repositório local. Quando o Maven adiciona uma dependência necessária a um projeto, ele primeiro verifica o repositório local quanto à presença de tal biblioteca e, somente se não a encontrar lá, recorre ao externo. Como você pode ver, você pode usar o Maven para adicionar dependências, mas isso não é tudo que ele pode fazer.

Construindo um projeto Java usando Maven

Esse recurso pode parecer inútil para um novato. Por que isso é necessário se existe um IDE? Mas não! Em primeiro lugar, o servidor no qual você deverá construir a aplicação pode não ter apenas um ambiente de desenvolvimento, mas também uma interface gráfica. Em segundo lugar, em grandes projetos, o Maven lida melhor com as tarefas de montagem do projeto. Portanto, não vamos nos atormentar com a espera, mas consideremos o processo de construção de um aplicativo usando Maven.

Fases

O processo de construção de um aplicativo é chamado de ciclo de vida de um projeto Maven e consiste em fases. Você pode vê-los no IDEA clicando em Maven> exemplo> Ciclo de vida no canto superior direito: Parte 4. Noções básicas do Maven - 5Como você pode ver, existem 9 fases:
  1. clean - remove todos os arquivos compilados do diretório de destino (o local onde os artefatos finalizados são salvos);
  2. validar – verificar se todas as informações estão disponíveis para construção do projeto;
  3. compile - arquivos com código fonte são compilados;
  4. test — os testes são lançados;
  5. pacote - os arquivos compilados são empacotados (em arquivo jar, war, etc.);
  6. verificar — verificações são realizadas para confirmar a prontidão do arquivo compactado;
  7. install - o pacote é colocado no repositório local. Agora pode ser utilizado por outros projetos como biblioteca externa;
  8. site - a documentação do projeto é criada;
  9. implantar - o arquivo coletado é copiado para um repositório remoto.
Todas as fases são executadas sequencialmente: você não pode iniciar, digamos, a quarta fase até que as fases 1-3 sejam concluídas. Existem duas maneiras de iniciar uma fase:
  • via linha de comando:

    pacote mvn

    Parte 4. Noções básicas do Maven - 6
  • usando o Intellij IDEA:

    Parte 4. Noções básicas do Maven - 7

    Antes do lançamento do pacote, as fases de validação, compilação e teste são executadas. A exceção é a fase limpa. É aconselhável chamá-lo antes de cada construção de novo projeto. As fases podem ser listadas separadas por espaços:

    pacote limpo mvn.

Além disso, cada fase tem pré e pós-fases: por exemplo, pré-implantação, pós-implantação, pré-limpeza, pós-limpeza, mas elas são usadas raramente. Além disso, cada fase possui objetivos. Metas padrão são incluídas por padrão, metas adicionais são adicionadas pelos plug-ins do Maven. Às vezes, durante alguma fase, você precisa executar funcionalidades adicionais. Existem plug-ins Maven para isso. A lista de plugins oficiais pode ser encontrada no site do Maven . Mas saiba que ainda existem muitos plugins personalizados que podem ser encontrados em recursos de terceiros. Bem, é claro, se houver alguma necessidade exótica, você sempre terá a oportunidade de escrever esse plugin sozinho .

Plug-ins

Para adicionar um plugin Maven a um projeto, sua descrição, semelhante às dependências, deve ser colocada em pom.xml nas tags <build> e <plugins>. Por exemplo, precisamos de um plugin para verificar se todas as nossas bibliotecas externas estão usando as versões mais recentes. Depois de um pouco de pesquisa na Internet, você encontrará este plugin com instruções de uso. Vamos definir seu groupId, artefatoId e versão. Vamos anotar quais objetivos ele deve cumprir e em que fase. No nosso caso, a verificação de dependência no pom.xml atual está definida para a fase de validação. Agora nossa “memória” fica assim:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Ainda podemos continuar trabalhando em nosso projeto. Mas vamos tentar mudar a versão do Apache Commons IO para 2.0 e começar a construir o projeto. Obtemos: [ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1] Aqui temos um erro de construção causado pelo plugin. A mensagem de erro informa que estamos usando a versão 2.0 quando a 2.6 está disponível. Em geral, o Maven é uma ferramenta muito útil. Pode parecer difícil de usar no começo, mas pratique, crie seus projetos no Maven, e depois de um tempo você ficará muito feliz com o resultado. Este artigo omitiu deliberadamente muitos detalhes sobre o Maven - nos concentramos no essencial. Mas não há limite para a perfeição: você pode ler mais sobre o Maven no site oficial do produto . Parte 5. Servlets. Escrevendo um aplicativo Web simples Parte 6. Contêineres de servlet Parte 7. Apresentando o padrão MVC (Model-View-Controller) Parte 8. Escrevendo um pequeno aplicativo Spring-Boot
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION