Mavenプロジェクトを作成する

この節ではMavenプラグインを実装するためのMavenプロジェクトを作成する方法を紹介します。

pom.xmlを設定する

はじめに、pom.xmlに以下を設定しましょう。

  • <packaging> 要素を <project> 要素の直下に追加し、値を maven-plugin に設定
  • maven-plugin-apimaven-plugin-annotationsprovided スコープで依存
  • <artifactId> 要素を (任意の名前)-maven-plugin に設定
    • 慣習でありで必須ではありませんが、このように命名することでMavenプラグイン実行時に -maven-plugin を省略できます。 例えば jp.skypencil グループに属する sample-maven-plugin なら、mvn jp.skypencil:sample で実行できます。
    • 古い資料では maven-(任意の名前)-plugin を使うよう推奨していますが、現在は非推奨ですので使用しないでください。
  • maven-plugin-plugin<execution><id>default-descriptor</id></execution><phase>process-classes</phase></execution> を追記1
  • maven-plugin-plugin<execution><id>generate-helpmojo</id><goals><goal>helpmojo</goal></goals></execution> を追記2

pom.xmlの概要は以下のようになります。

<project>
  <artifactId>sample-maven-plugin</artifactId>
  <packaging>maven-plugin</packaging>

  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>3.5.0</version><!-- version of Maven -->
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-tools</groupId>
      <artifactId>maven-plugin-annotations</artifactId>
      <version>3.4</version><!-- version of Maven Plugin Tools -->
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-plugin-plugin</artifactId>
        <version>3.4</version>
        <executions>
          <execution>
            <id>default-descriptor</id>
            <phase>process-classes</phase>
          </execution>
          <execution>
            <id>generate-helpmojo</id>
            <goals>
              <goal>helpmojo</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

なお、archetypeプラグインを利用するとpom.xmlを自動的に生成してくれます3ので、 スクラッチで実装を行う場合はぜひ利用してください。以下のコマンドでMavenプロジェクトの作成を行えます。

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin -DarchetypeVersion=1.2

Eclipseプロジェクトを作成する

Eclipseで開発を行う場合、以下のコマンドでEclipseプロジェクトの作成を行ってください。 作成後、メニューバーの「ファイル→インポート」から既存のEclipseプロジェクトとして取り込むことができます。

mvn eclipse:eclipse

あるいはEclipseのm2eプラグインを使用することで、MavenプロジェクトをEclipseプロジェクトとして 直接開くことも可能です。詳しくはm2eの公式サイトをご確認ください。

TODO 上記サイトのURLを調べる。

1. http://maven.apache.org/plugin-tools/maven-plugin-plugin/examples/using-annotations.html
2. ヘルプ表示用Mojoを自動生成するため
3. TODO 1.2は2015年2月時点での最新版だが、長く更新されていないので、新しいアーキタイプを作成すること

results matching ""

    No results matching ""