倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

Archetype -- 独自の archetype を作成する 其ノ参

今回は、独自の 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>

Java ソースコード App.xml:

package ${packageName};

public class App {
    
    public static void main(String... args){
        System.out.println( "Hello World!" );
    }
}

*1:中括弧 {} を省いて $groupId, $artifactId のように書いても良いようです。