Maven3 で「’version’ contains an expression but should be a constant.」という警告

Maven2 の pom.xml を利用して Maven3 でビルドをしようとすると、

'version' contains an expression but should be a constant.

といった警告がでることがあります。 該当の箇所を見てみると、

  <groupId>com.aimluck.eip</groupId>
  <artifactId>aipo-core</artifactId>
  <version>${aipo.version}</version>
  <packaging>jar</packaging>

Maven3 では、version の値をプロパティから動的に設定することは推奨されていないため警告がでてしまいます。 親プロジェクトのバージョンを引き継ぐ場合には、version タグそのものを削除することにより対応ができます。