This is an old revision of the document!
Encabezado XML:
<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>
xmlns, xsi y schemaLocation: Estas son declaraciones XML estándar que indican que este archivo sigue el formato de POM de Maven versión 4.0.0.
modelVersion: Es la versión del modelo de Maven, que en este caso es la 4.0.0. Esto es estándar para la mayoría de proyectos Maven.
Información básica del proyecto:
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
groupId: Identificador único de tu proyecto (generalmente coincide con el nombre de dominio de la empresa o equipo, en este caso com.mycompany.app).
artifactId: El nombre del proyecto o módulo. Aquí es my-app.
version: La versión del proyecto. En este caso, es 1.0-SNAPSHOT. El sufijo SNAPSHOT indica que esta versión está en desarrollo.
name: El nombre legible del proyecto, también my-app.
url: La
URL del proyecto, que aquí es solo un ejemplo y debería actualizarse según el comentario <!–

–>.
Propiedades del proyecto:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>17</maven.compiler.release>
</properties>
project.build.sourceEncoding: Define la codificación de caracteres utilizada en el proyecto, en este caso UTF-8.
maven.compiler.release: Establece la versión del JDK que se utilizará para compilar el código, aquí se usa la versión 17 de Java.
Gestión de dependencias (dependencyManagement):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.11.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
dependencyManagement: Este bloque permite administrar las versiones de dependencias para evitar repetirlas en módulos hijos.
dependency: Aquí se está importando un “BOM” (Bill of Materials) de JUnit. El BOM es una forma de garantizar que todas las dependencias relacionadas con JUnit (por ejemplo, junit-jupiter-api y junit-jupiter-params) utilicen versiones compatibles entre sí.
groupId: El grupo de la dependencia (org.junit).
artifactId: El nombre del BOM, que es junit-bom.
version: La versión del BOM es 5.11.0.
type: Es de tipo pom, ya que un BOM es un archivo POM que gestiona las versiones de sus dependencias.
scope: Se marca como import para importar la gestión de versiones del BOM a este proyecto.