O que é pom.xml (Modelo de Objeto de Projeto)? Exemplo de pom.xml para você usar em seu Projeto Web Dinâmico (Java/J2EE)

Publicados: 2021-06-25
O que é pom.xml (Modelo de Objeto de Projeto)? Exemplo de pom.xml para você usar em seu Projeto Web Dinâmico

O que é o arquivo pom.xml?

POM significa Project Object Model . É uma unidade fundamental de trabalho no Maven. O arquivo pom.xml contém todas as configurações, dependências, integração de plugins e instruções de configuração do projeto.

Esta é a melhor maneira de adicionar quaisquer dependências de biblioteca em seu projeto. Copiar arquivos .jar para a pasta de recursos do projeto é uma maneira antiga de fazer isso

Vamos entender o arquivo pom.xml em detalhes.

Arquivo pom.xml padrão mais simples

Vamos analisar os Elementos do pom.xml:

Elemento Descrição
projeto O elemento é a raiz do descritor. A tabela a seguir lista todos os elementos filho possíveis.
modeloVersão Declara a qual versão do descritor de projeto este POM está em conformidade. Configure a versão 4.0.0.
groupId Um identificador universalmente exclusivo para um projeto. É normal usar um nome de pacote totalmente qualificado para distingui-lo de outros projetos com um nome semelhante (por exemplo, org.apache.maven).
ID do artefato O identificador para este artefato que é exclusivo dentro do grupo fornecido pelo ID do grupo. Um artefato é algo que é produzido ou usado por um projeto. Exemplos de artefatos produzidos pelo Maven para um projeto incluem: JARs, distribuições de origem e binários e WARs.
versão A versão atual do artefato produzido por este projeto.
entender os elementos pom.xml

arquivo pom.xml com elementos adicionais

pom.xml com mais elementos:

Elemento Descrição
embalagem O tipo de artefato que este projeto produz, por exemplo jar war ear pom. Os plug-ins podem criar seus próprios pacotes e, portanto, seus próprios tipos de pacotes, portanto, esta lista não contém todos os tipos possíveis.
nome O nome completo do projeto.
URL A URL para a página inicial do projeto.
dependências Este elemento descreve todas as dependências associadas a um projeto. Essas dependências são usadas para construir um caminho de classe para seu projeto durante o processo de compilação. Eles são baixados automaticamente dos repositórios definidos neste projeto.
dependência O grupo de projeto que produziu a dependência, por exemplo, org.apache.maven.
Construir Informações necessárias para construir o projeto.
sourceDirectory Este elemento especifica um diretório que contém a fonte do projeto. O sistema de compilação gerado compilará a fonte neste diretório quando o projeto for compilado. O caminho fornecido é relativo ao descritor do projeto.
finalName O nome do arquivo (excluindo a extensão e sem informações de caminho) que o artefato produzido será chamado. O valor padrão é ${artifactId}-${version}.
plug-ins A lista de plugins a serem usados.
plugar O ID do grupo do plug-in no repositório.
alcance O escopo da dependência – compilação, tempo de execução, teste, sistema e fornecido. Usado para calcular os vários caminhos de classe usados ​​para compilação, teste e assim por diante. Também auxilia na determinação de quais artefatos incluir em uma distribuição deste projeto.

Publicamos mais de 700 tutoriais Java no Crunchify e estamos usando arquivos pom.xml desde o início, incluindo dependências do Spring MVC.

Nos últimos anos, devido à adição de mais e mais dependências de biblioteca, o arquivo pom.xml do tutorial Java do Crunchify é maior agora

Aqui está nosso arquivo pom.xml atual para sua referência. Se você copiá-lo e adicioná-lo ao seu projeto, isso também funcionará para você.

pom.xml que estamos usando para os totoriais Java do Crunchify

Espero que isso esclareça o que é o arquivo pom.xml e por que o usamos em qualquer projeto J2EE de Java.

Deixe-me saber se você tiver mais perguntas.

Atualize o Log4j para a versão mais recente

CVE-2021-44228: Apache Log4j2 <=2.14.1 Os recursos JNDI usados ​​na configuração, mensagens de log e parâmetros não protegem contra LDAP controlado por invasores e outros terminais relacionados a JNDI.

A partir do log4j 2.16.0, esse comportamento foi desabilitado por padrão.