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の概要は次のようになります。
1
<project
2
<artifactId>sample-maven-plugin</artifactId>
3
<packaging>maven-plugin</packaging>
4
<dependencies
5
&lt;dependency&gt;
6
&lt;groupId&gt;org.apache.maven&lt;/groupId&gt;
7
&lt;artifactId&gt;maven-plugin-api&lt;/artifactId&gt;
8
&lt;version&gt;{{book.version.maven}}&lt;/version&gt;&lt;!-- version of Maven --&gt;
9
&lt;scope&gt;provided&lt;/scope&gt;
10
&lt;/dependency&gt;
11
&lt;dependency&gt;
12
&lt;groupId&gt;org.apache.maven.plugin-tools&lt;/groupId&gt;
13
&lt;artifactId&gt;maven-plugin-annotations&lt;/artifactId&gt;
14
&lt;version&gt;3.4&lt;/version&gt;&lt;!-- version of Maven Plugin Tools --&gt;
15
&lt;scope&gt;provided&lt;/scope&gt;
16
&lt;/dependency&gt;
17
&lt;dependency&gt;
18
&lt;groupId&gt;junit&lt;/groupId&gt;
19
&lt;artifactId&gt;junit&lt;/artifactId&gt;
20
&lt;version&gt;{{book.version.junit}}&lt;/version&gt;
21
&lt;scope&gt;test&lt;/scope&gt;
22
&lt;/dependency&gt;
23
24
</dependencies>
25
<build
26
&lt;plugins&gt;
27
&lt;plugin&gt;
28
&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
29
&lt;artifactId&gt;maven-plugin-plugin&lt;/artifactId&gt;
30
&lt;version&gt;3.4&lt;/version&gt;
31
&lt;executions&gt;
32
&lt;execution&gt;
33
&lt;id&gt;default-descriptor&lt;/id&gt;
34
&lt;phase&gt;process-classes&lt;/phase&gt;
35
&lt;/execution&gt;
36
&lt;execution&gt;
37
&lt;id&gt;generate-helpmojo&lt;/id&gt;
38
&lt;goals&gt;
39
&lt;goal&gt;helpmojo&lt;/goal&gt;
40
&lt;/goals&gt;
41
&lt;/execution&gt;
42
&lt;/executions&gt;
43
&lt;/plugin&gt;
44
&lt;/plugins&gt;
45
46
</build>
Copied!
なお、archetypeプラグインを利用するとpom.xmlを自動的に生成してくれます[^3]ので、 スクラッチで実装する場合はぜひ利用してください。次のコマンドでMavenプロジェクトの作成を行えます。
1
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin -DarchetypeVersion=1.2
Copied!

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

Eclipseで開発する場合、次のコマンドでEclipseプロジェクトの作成してください。 作成後、メニューバーの「ファイル→インポート」から既存のEclipseプロジェクトとして取り込むことができます。
1
mvn eclipse:eclipse
Copied!
あるいはEclipseのm2eプラグインを使用することで、MavenプロジェクトをEclipseプロジェクトとして 直接開くことも可能です。詳しくはm2eの公式サイトをご確認ください。
TODO 上記サイトのURLを調べる。
[^3]: TODO 1.2は2015年2月時点での最新版だが、長く更新されていないので、新しいアーキタイプを作成すること。