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> //...