作成したプロジェクトは、MavenコマンドでビルドしJarファイルにまとめることができました。ただし、このJarファイル、ちょっと扱いが面倒ですね。
-classpathでJarファイルを指定して、メインクラスを実行してやらないといけません。もうちょっと実行が簡単にできないものか、と思った人も多いでしょう。これは、実はできます。そのためには、「プラグイン」の使い方を覚えておく必要があります。
Mavenでは、さまざまな機能が「
プラグイン」として追加されています。プログラムの実行は、「
exec-maven-plugin」というプラグインによって実装されています。このプラグインのための設定情報を
pom.xmlに追記することで、プログラムを実行できるようになります。
プラグインというのは、
pom.xmlの
<project>タグ内に以下のような形で組み込まれます。(※ビルドに関するプラグインの場合)
<build>
<plugins>
<plugin>……略……</plugin>
</plugins>
</build>
<build>は、ビルドに関する設定を記述するためのもので、
<plugins>は、プラグインの設定情報をまとめるためのものです。この中に、
<plugin>というタグを使って、特定のプラグインのための設定をまとめていきます。
プラグインは、1つしかないわけではなくて、多数の者が用意されています。実をいえば、既に説明したものの中にもプラグインを使った機能はあります。例えば、「
mvn compile」というコマンドは、
maven-conpiler-pluginというプラグインで実装されるものです。また、「
mvn package」ならば、
maven-jar-pluginというプラグインで実装されています。
要するに、Mavenで使うゴール(compileやpackageといったもの)というのは、すべてプラグインとして組み込まれているのですね。これらは
<dependency>タグなどでライブラリをダウンロードする必要はありません。標準でちゃんと使えるようになっているものもありますし、なければ必要に応じてダウンロードされます。改めて、
<dependency>タグなどを用意する必要はありません。
■<plugin>タグについて
このプラグインの設定情報を記述する
<plugin>タグは、そのプラグインに関する必要な情報をタグ内に用意しておく必要があります。
最小限用意すべきものとしては、だいたい以下のようなタグになるでしょう。
<plugin>
<groupId>グループID</groupId>
<artifactId>アーティファクトID</artifactId>
<version>バージョン</version>
<configuration>
……設定情報……
</configuration>
</plugin>
グループID、アーティファクトID、バージョンといったものは、もうおなじみですね。これらを使って、使用するプラグインプログラムを指定します。その後にある
<configuration>タグは、このプラグインを利用する上で必要な情報などを用意しておくためのものです。これは、プラグインによって記述する内容は異なります(必要ない場合もあります)。