plugin groupid exclude example dependency artefact maven maven-3 build-dependencies

groupid - Dependencias gestionadas por Maven: resolviendo ${project.version} desde parent pom



maven release plugin example (1)

Debe omitir la etiqueta <version> en el elemento secundario, pero conservar la etiqueta <parent><version> ... </parent> .

http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance

Un factor a tener en cuenta es que estas variables se procesan después de la herencia como se describe anteriormente. Esto significa que si un proyecto principal usa una variable, entonces su definición en el niño, no en el padre, será la que finalmente se use.

¿Cómo se resuelve el marcador ${project.version} posición ${project.version} para propiedades administradas desde parent pom? Esperé que se resolviera globalmente, así que cuando el padre pom tiene la versión 2, ${project.version} también se resolvería en la versión 2.

En Parent pom tengo:

<groupId>my.group</groupId> <artifactId>parent</artifactId> <version>2</version> <packaging>pom</packaging> <dependencyManagement> <dependencies> <dependency> <groupId>my.group</groupId> <artifactId>dep</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement>

En el niño que uso

<parent> <groupId>my.group</groupId> <artifactId>parent</artifactId> <version>2</version> </parent> <version>1</version> <artifactId>child</artifactId>

Pero se usa el artefacto my.group.dep.1.jar , en lugar de my.group.dep.2.jar . Por lo tanto, el marcador de posición se resuelve en la versión del proyecto que utiliza la dependencia gestionada, y no los del proyecto que define la dependencia.

¿Es ese comportamiento esperado? Estoy usando maven 3.0.4.