今回は、独自の archetype に含めるサンプル・ファイルの書き方を見ていきましょう。
常に同じ内容のファイルを生成するなら話は簡単で、その内容のファイルを適当なフォルダに配置するだけです。 しかし、独自の archetype を使用してプロジェクト・テンプレートを作成する際に指定する「groupId」や「artifactId」などの "プロパティ" によって、ファイルの内容を変更したい場合もあります。
ファイル内で、これらのプロパティ値を使用したい場合は、(Ant のように)${groupId} や ${artifactId} をファイル内に埋め込みます*1。 他に使えるプロパティには以下のものがあります:
プロパティ名 | デフォルト値 |
---|---|
groupId | - |
artifactId | - |
version | 1.0-SNAPSHOT |
packageName | ${gruopId} |
サンプル
ここでは2つのサンプルファイル、(生成するプロジェクトの)POM ファイルと Java ソースコードを載っけておきます。
POM ファイル pom.xml:
<?xml version="1.0"?> <project> <modelVersion>4.0.0</modelVersion> <groupId>${groupId}</groupId> <artifactId>${artifactId}</artifactId> <version>${version}</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
package ${packageName}; public class App { public static void main(String... args){ System.out.println( "Hello World!" ); } }
*1:中括弧 {} を省いて $groupId, $artifactId のように書いても良いようです。