Dans les projets maven multi-modules où je veux que chacun des modules conserve toujours la même version que le parent, j'ai généralement fait quelque chose comme ce qui suit dans le pom.xml du module :
<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>
Depuis que j'ai commencé à utiliser maven 3.0-alpha-5, je reçois l'avertissement suivant pour ce faire.
[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]
Je suis curieux de savoir quel est le vrai problème de lier la version d'un module à la version parent, s'il y en a un ? Ou s'agit-il d'un cas d'avertissement général lorsque n'importe quelle expression, indépendamment du fait qu'il s'agisse de project.parent.version, est utilisée pour l'élément version.