Maven: プロジェクト管理ツール

Maven とは?

Maven (メイヴン) は Java 用のプロジェクト管理ツールです。 Apache Software Foundation がホストしているオープンソースプロジェクトの1つであり、 Apache Maven とも呼ばれます。 Java 用ですが、他の言語でも利用できます。

Maven には、ライブラリ間の依存関係を解決し、必要なライブラリを自動でダウンロードする機能があります。 eclipse を使って開発をする場合、ビルド自体は eclipse の機能でできますが、 ライブラリの管理を Maven に任せることにより、スマートな開発が可能となります。

Maven では「pom.xml」というファイルに必要なライブラリを登録します。 ライブラリの説明のページに「pom.xml」の記述方法が書いてある場合、 それを真似するだけで自動的にライブラリがダウンロードされます。

ライブラリの格納場所

Maven にはライブラリのダウンロード機能があります。 ダウンロードしたライブラリの実体は、 ローカルのPCの特定の場所に格納されます。 これをローカルリポジトリと呼びます。

このローカルリポジトリの格納場所は、デフォルトでは以下のとおりです (Windowsの場合)。

ユーザのホームディレクトリ/.m2/repository

格納場所の変更 (任意)

eclipse を使っている人は、格納場所を workspace の中にしたいかもしれません。

ローカルリポジトリの格納場所を変えるには、設定ファイルを作成して eclipse に登録する必要があります。 Maven 関係のファイルを置くフォルダとして、例えば「ワークスペースのフォルダ/.m2」を作成したとします。 設定ファイルはその中に置くとすると「ワークスペースのフォルダ/.m2/settings.xml」というファイル名にします。 この位置を eclipse に登録します。

設定ファイル「settings.xml」の内容は テンプレートをベースに、 localRepository要素で好きな格納先を指定します。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>ワークスペースのフォルダ/.m2/repository</localRepository>
  <interactiveMode/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>

プロジェクトの作成

eclipse で Maven を使うには、「Maven プロジェクト」を作成するのが簡単です。 「ファイル」メニューから「新規」→「Maven プロジェクト」を選びます。

プロジェクトの場所については、「デフォルト・ワークスペース・ロケーションの使用」を選択します。

アーキタイプは「maven-archetype-quickstart」を選択します。

グループidとパッケージは、これから作成するプログラムのパッケージ名にします。 アーティファクトidはプロジェクト名になるので、そのつもりで長過ぎないものを指定します。

新規プロジェクトが作成され、専用のフォルダ構成が用意されます。

JRE システム・ライブラリーが古い場合は、プロジェクトのプロパティから変更します。

「Javaのビルド・パス」の「ライブラリー」タブを表示させます。

「ライブラリーの追加」ボタンを押します。

「JRE システム・ライブラリー」を選択します。

「ワークスペースのデフォルト JRE」を選択します。 画像では version 11 ですが、これは eclipse の version とワークスペースの設定により異なります。

ワークスペースのデフォルトの JRE が「JRE システム・ライブラリー」として追加されました。 画像では version 11 ですが、これは eclipse の version とワークスペースの設定により異なります。

古い「JRE システム・ライブラリー」を選択し、「除去」ボタンを押して除去します。 この画像では、version 11 よりも古い 1.5 を除去しています。

「JRE システム・ライブラリー」が新しいものだけになりました。

左の項目から「Java コンパイラー」を選択します。 下の画像のようにウィンドウ下部に警告が表示されている場合は、 コンパイラー準拠レベルを「JRE システム・ライブラリー」の version に合わせるか、 「プロジェクト固有の設定を可能にする」のチェックを外します。

ワークスペースの設定が正常であれば、警告が消えるはずです。

「適用して閉じる」ボタンを押し、プロジェクトを再ビルドします。

利用するライブラリの指定

「pom.xml」というファイルが設定ファイルなので、これをダブルクリックして開きます。

ファイル後半のdependecies要素の子要素として、利用したいライブラリを dependency 要素として記述します。 default で junit というライブラリを表す dependency 要素が記述されているので、この前か後ろに新たな dependency 要素を追加します。

下の例では、「org.seleniumhq.selenium」グループの「selenium-java」というライブラリを追加で指定しました。

追記した「pom.xml」を保存すると、自動的に必要なライブラリがダウンロードされ、プロジェクトに登録されます。 登録先は「Maven 依存関係」です。

ソースプログラムは src/main/java の中に作成します。 デフォルトで App.java が生成されていますが、これは無視してかまいません。