Mavenでユーザ定義のプロパティを作成する方法
カスタムプロパティや変数は、Mavenの `pom.xml`ファイルを読みやすく保守しやすくするのに便利です。
File:pom.xml
<project> ... <プロパティ> <my.plugin.version> 1.5 </my.plugin.version> </properties> ... </project>
上記の
pom.xml`では、コード
$ {my.plugin.version} ‘を使って “my.plugin.version”を参照することができます。
例1
古典的なユースケースは、jarまたはプラグインのバージョンを定義するために使用されます。
<properties>
<spring.version>3.1.2.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
Springを3.1.5にアップグレードする場合は、 “spring.version”を3.1.5に変更するだけで、すべての依存関係が影響を受けます。
例2
別の一般的な使用例は、長いファイルパスを定義するために使用されます。
<properties>
<project.theme.name>default</project.theme.name>
<project.resources.build.folder>
${project.build.directory}/temp-resources/${project.theme.name}/ </project.resources.build.folder>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>
${project.resources.build.folder}
</outputDirectory>
//...