Buscar..


Estructura de pom

El modelo de objetos del proyecto es la unidad básica de Maven y define la estructura del proyecto, las dependencias, etc.

Los siguientes son muy mínimos para crear un POM:

  • raíz del project
  • modelVersion - se debe establecer en 4.0.0
  • groupId - el ID del grupo del proyecto
  • artifactId - el ID del artefacto (proyecto)
  • version : la versión del artefacto en el grupo especificado

groupId , artifactId y version se llaman coordenadas de Maven y a veces se abrevian con GAV . Identifican de forma única el artefacto resultante de un proyecto en un repositorio de Maven (y deberían hacerlo en todo el universo).

Una muestra mínima de POM se ve así:

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.sample</groupId>
  <artifactId>sample-app</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</project>

Herencia POM

La herencia es el activo más importante de la POM, donde lo siguiente se puede administrar desde la súper POM a la POM secundaria.

  • dependencias
  • desarrolladores y colaboradores
  • listas de complementos (incluyendo informes)
  • ejecuciones de plugin con identificadores coincidentes
  • configuración de plugin

Lo siguiente habilita la herencia.

  <parent>
    <groupId>com.sample</groupId>
    <artifactId>sample-app-parent</artifactId>
    <version>1.0.0</version>
  </parent>

La estructura de POM se parece a

<project>
  <parent>
    <groupId>com.sample</groupId>
    <artifactId>sample-app-parent</artifactId>
    <version>1.0.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sample</groupId>
  <artifactId>sample-app</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</project>

Agregación POM

Los módulos de un proyecto de múltiples módulos se agregan desde una estructura jerárquica.

El empaque de la raíz pom debe verse como:

<packaging>pom</packaging>

La siguiente será la estructura de directorios del proyecto:

 |-- sample-app
  \   `-- pom.xml
   |-- sample-module-1
   |   `-- pom.xml
   |-- sample-module-2
   |   `-- pom.xml

POM raíz:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sample</groupId>
  <artifactId>sample-app</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
 
  <modules>
    <module>sample-module-1</module>
    <module>sample-module-2</module>
  </modules>
  <dependencyManagement>
    ...
  </dependencyManagement>
</project>


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow