enrique-j
1/12/2018 - 3:14 PM

EstructuraPOM

Repositorio central

mvnrepository.com

https://www.javaworld.com/article/2071772/java-app-dev/the-maven-2-pom-demystified.html

4 partes

relaciones POM, información del proyecto, configuraciones de compilación y entorno de compilación.

Relaciones POM

Los proyectos deben relacionarse entre sí de alguna manera. Desde la creación de los primeros ensambladores, los proyectos de software han tenido dependencias; Maven ha introducido más formas de relaciones hasta ahora inutilizadas de tal forma para los proyectos de Java. Estas relaciones son coordenadas Maven, dependencias basadas en coordenadas, herencia de proyectos y agregación.

Coordenadas

Cada proyecto de Maven contiene su propio identificador único, apodado las coordenadas del proyecto , que actúa como la dirección de un artefacto, dándole un lugar único en el universo de Maven. Si los proyectos no tuvieran forma de relacionarse entre sí, no se necesitarían coordenadas. Es decir, si un universo tenía una sola casa, ¿por qué necesitaría una dirección como 315 Cherrywood Lane?

El código siguiente es el mínimo que POM Maven 2 se Allowance , y son todos los campos requeridos. Actúan como un vector en el espacio de Maven con los elementos mero, identificador y marca de tiempo.

4.0.0 org.codehaus.mojo a 1

Dependencias

Uno de los aspectos más potentes de Maven es su manejo de dependencias de proyectos, y en Maven 2, que incluye dependencias transitivas. La administración de dependencias tiene una larga tradición de ser un desastre complicado para cualquier cosa que no sea el más trivial de los proyectos. "Jarmageddon" se produce rápidamente a medida que el árbol de la dependencia se vuelve enorme, complicado y vergonzoso para los arquitectos que son despreciados por los nuevos graduados que "totalmente podrían haberlo hecho mejor". "Jar Hell" sigue, donde las versiones de las dependencias en un sistema no son exactamente las mismas versiones que las utilizadas para el desarrollo; tienen la versión incorrecta o versiones conflictivas entre JAR con nombres similares. Por lo tanto, las cosas comienzan a romperse y señalar por qué resulta difícil. Maven resuelve estos dos problemas al tener un repositorio local común desde el que vincular a los proyectos correctos, versiones y todo.