Trong các dự án đa mô-đun maven mà tôi muốn mỗi mô-đun luôn giữ cùng một phiên bản với phiên bản gốc, tôi thường thực hiện một số việc như sau trong pom.xml của mô-đun:
<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>
Vì tôi bắt đầu sử dụng maven 3.0-alpha-5, tôi nhận được cảnh báo sau khi làm như vậy.
[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]
Tôi tò mò muốn biết vấn đề thực sự khi gắn phiên bản của mô-đun với phiên bản mẹ là gì, nếu có? Hay đây là một trường hợp cảnh báo chung khi bất kỳ biểu thức nào, bất kể đó là project.parent.version, được sử dụng cho phần tử phiên bản.