In Maven-Projekten mit mehreren Modulen, in denen jedes Modul immer dieselbe Version wie das übergeordnete Modul behalten soll, habe ich in der pom.xml des Moduls normalerweise Folgendes ausgeführt:
<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>
Seit ich Maven 3.0-alpha-5 benutze, erhalte ich die folgende Warnung.
[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]
Ich bin gespannt, was das eigentliche Problem beim Binden der Version eines Moduls an die übergeordnete Version ist, wenn überhaupt? Oder handelt es sich um eine allgemeine Warnung, wenn ein Ausdruck, unabhängig davon, ob es sich um project.parent.version handelt, für das Versionselement verwendet wird.