En los proyectos de múltiples módulos de maven donde quiero que cada uno de los módulos mantenga siempre la misma versión que el padre, normalmente he hecho algo como lo siguiente en el pom.xml del módulo:
<parent>
<groupId>com.groupId</groupId>
<artifactId>parentArtifactId</artifactId>
<version>1.1-SNAPSHOT</version>
</parent>
<groupId>com.groupId</groupId>
<artifactId>artifactId</artifactId>
<packaging>jar</packaging>
<version>${project.parent.version}</version>
<name>name</name>
Desde que comencé a usar maven 3.0-alpha-5, recibo la siguiente advertencia al hacerlo.
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.groupid.artifactId:name:jar:1.1-SNAPSHOT
[WARNING] 'version' contains an expression but should be a constant. @ com.groupid.artifactId:name::${project.parent.version}, /Users/whaley/path/to/project/child/pom.xml
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
Tengo curiosidad por saber cuál es el problema real de vincular la versión de un módulo a la versión principal, si corresponde. ¿O se trata de un caso de advertencia general cuando se usa cualquier expresión, independientemente de si es project.parent.version, para el elemento de versión?