"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Dominando o Maven: além do gerenciamento de build

Dominando o Maven: além do gerenciamento de build

Publicado em 2024-08-05
Navegar:183

Mastering Maven: Beyond Build Management

Maven é amplamente conhecido como uma poderosa ferramenta de automação de construção, mas é muito mais do que isso. É uma ferramenta abrangente de gerenciamento de projetos que simplifica todo o processo de construção, gerenciamento de dependências e geração de documentação. Nesta postagem, exploraremos vários aspectos do Maven e compreenderemos seus recursos em detalhes.

Principais recursos do Maven
1. Geração de construção
2.Gestão de Dependências
3.Documentação

Quando você executa comandos como mvn build ou mvn deploy, o Maven examina o arquivo pom.xml, que contém todas as configurações, e age de acordo. Vamos nos aprofundar na estrutura pom.xml e em seu significado.

O arquivo POM

``` 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">
4.0.0


com.example
my-app
1.0-SNAPSHOT
jar



    1.8
    1.8
    5.2.8.RELEASE




    
    
        org.springframework
        spring-core
        ${spring.version}
    
    
    
        org.springframework
        spring-context
        ${spring.version}
    
    
    
        junit
        junit
        4.12
        test
    




    
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.8.1
            
                ${maven.compiler.source}
                ${maven.compiler.target}
            
        
        
        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.22.2
        
    




    
        central
        https://repo.maven.apache.org/maven2
    




    
        releases
        http://repo.mycompany.com/releases
    
    
        snapshots
        http://repo.mycompany.com/snapshots
    

Vamos decodificar o arquivo POM:

**O arquivo pom.xml segue um esquema XML específico (definido em xsi:schemaLocation:)que garante que ele siga uma estrutura correta, que o Maven verifica. Aqui está um exemplo:






Elementos chave:

  • POM pai:
    Cada arquivo POM no Spring Boot possui um POM pai. Se nenhum pai for definido, o super POM se tornará o pai.

  • GroupId, ArtifactId e versão:
    Esses elementos identificam exclusivamente um projeto no Maven Central.


com.example
    my-app
    1.0-SNAPSHOT
    jar


  • Propriedades: Defina pares de valores-chave que podem ser referenciados em pom.xml.


    1.8


-

  • Repositórios: Especifique onde baixar as dependências, normalmente do Maven Central.


    
        central
        https://repo.maven.apache.org/maven2
    



Dependências: Liste as dependências do projeto.



    
        org.springframework.boot
        spring-boot-starter-web
        2.3.4.RELEASE
    



  • Configuração de compilação: Define o processo e as fases de construção. Para isso, precisamos entender o ciclo de vida de construção do maven.

Ciclo de vida do Maven Build

Maven segue um ciclo de vida de construção específico que consiste em várias fases:

  1. Validar:
    Valida a estrutura do projeto.

  2. Compilar:
    Converte o código Java em bytecode (arquivos .class) e os coloca na pasta target/.

  3. Teste:
    Executa casos de teste localizados no diretório test/.

  4. Pacote:
    Gera arquivos JAR/WAR a partir do bytecode compilado e os armazena na pasta target/.

  5. Verificar:
    Verifica a integridade do pacote.

  6. Instalar:
    Instala o pacote no repositório local.

  7. Implantar:

    Carrega o pacote para um repositório remoto.

Personalizando o processo de construção:
O Maven oferece flexibilidade para adicionar metas específicas em cada fase do elemento. Você também pode criar e usar plug-ins para estender a funcionalidade do Maven.



    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.8.1
            
                1.8
                1.8
            
        
    




*Instalar com maven: *
Ele instala o arquivo jar que criamos na fase de compilação após concluir o teste, empacotamento e verificação.
aqui ele cria uma pasta m2 na qual todas as dependências são mantidas. Podemos alterar a localização desta pasta em settings.xml em

Implantando com Maven
A configuração de implantação é especificada dentro do elemento.



    
        internal.repo
        http://repo.mycompany.com/maven2
    




Dica: podemos fornecer credenciais em settings.xml dentro da pasta .m2/repository.

Manter-se atualizado com o Maven e dominar suas nuances pode melhorar significativamente o gerenciamento de projetos e desenvolver habilidades de automação. Lembre-se de que o Maven é mais do que apenas uma ferramenta de construção: é o centro de comando do projeto. Mergulhe fundo, explore novos plug-ins e continue experimentando. Quanto mais nos envolvemos com o Maven, mais poderoso se torna o nosso processo de desenvolvimento. Continue ultrapassando os limites e deixe o Maven cuidar do resto - afinal, é como ter um canivete suíço para suas necessidades de gerenciamento de projetos!

Muito obrigado pela leitura. Agradecemos seu valioso feedback.
Diga-me também nos comentários se você encontrar algum plug-in legal.
Não se esqueça de curtir, compartilhar e se inscrever.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/mini2809/mastering-maven-beyond-build-management-6fd?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3