EclipseでMavenプロジェクトを作成する方法
EclipseでMavenプロジェクトを作成する方法です。
Maven とは、Apache Software Foundationで開発されている Java ベースのオープンソース製プロジェクト管理ツールのことです。
読み方は「メイヴェン」「メイヴィン」あたりでいいかと。「メーベン」って言えば対外通じます^^
Maven には Maven1 と Maven2 がありますが、ここから先は Maven2 で話を進めていきます。
Maven はソースやライブラリの管理をしてくれるので、複数人で開発するプロジェクトには向いています。pom.xml ファイルをチームメンバーと共有して、Maven のコマンドを一回実行すれば、ソースコードや JAR ライブラリなどを自動的に用意してくれます。
まぁ、ソース管理は Git や Svn の方が慣れているので、主にライブラリの依存関係・バージョン管理に使っているというべきでしょうかね。何が便利かっていうと、一度 pom.xml を作ってしまえば、ライブラリを自動収集してくれる点と、プロジェクトが変わっても使い回しできる点ですね。ライブラリを個別に集める必要もないし、関連ライブラリを個別に探す手間も省けます。バージョンが上がっても pom.xml をちょこっといじるだけ。似たような開発があった場合にも重宝しますし、何よりメンバー間でライブラリのバージョン違いが発生しないってのがメリット高いですよね。
ここでは EclipseでMavenプロジェクトを作成する手順 を掲載しておきたいと思います。
環境
- Windows 7 32Bit
- Eclipse 4.4 Luna Pleiades All in One
- Apache Maven 3.3.9
>>Eclipse Pleiades All in One インストール方法はこちら<<
Eclipse Kepler(4.3) IDE for Java EE Developers 以降は最初から Maven プラグインが入っています。これ以前の場合は、Eclipse の [ヘルプ] - [新規ソフトウェアのインストール] から m2e をインストールしてください。
http://download.eclipse.org/technology/m2e/releases
Maven プロジェクトの追加
Eclipse メニューから [ファイル] - [新規] - [プロジェクト] を選択し、[Maven プロジェクト]を選びます。
[デフォルト・ワークスペース・ロケーションの使用]にチェックが入っていることを確認し、次へボタンを押下します。[シンプルなプロジェクトの作成] にチェックが入っていると、アーキタイプの選択画面をスキップできます。アーキタイプとは、Maven プロジェクト作成時に指定する、プロジェクトのひな型をのようなものです。
[シンプルなプロジェクトの作成] にチェックを入れなかった場合、アーキタイプの選択画面が出てきます。
Webアプリの場合、フィルターに「maven-archetype-webapp」と入力して、選択して次へボタンを押下します。
アーキタイプ・パラメータの指定画面では、下記の3つを入力します。
グループ Id | ルートパッケージ名を指定します。 |
---|---|
アーティファクト Id | プロジェクト名を指定します。 |
パッケージ | ルートパッケージ名を指定します。 |
ここでは、下図のように指定しました。
完了ボタンを押下すれば、プロジェクトの生成はおしまいです。
Struts2のライブラリの依存性を追加
サンプルとして、Struts2 のライブラリを追加します。下記のサイトへ移動して、検索ボックスに struts2 と入力し、結果の strtus2-core をクリックします。
・Maven Repository Search-Browse-Explore
現在の最新版である 2.5.2 を選択し、出てきた画面の Maven タブのソースをコピーします。
Eclipseに戻ってpom.xml を開き dependencies タグ下にを貼り付けます。全体の pom.xml は下記のようになります。strtus2 追加 スタートからエンドまでが追記したものです。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.mvnwebapp</groupId>
<artifactId>mvnproject</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mvnproject Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- strtus2 追加 スタート -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.2</version>
</dependency>
<!-- strtus2 追加 エンド -->
</dependencies>
<build>
<finalName>mvnproject</finalName>
</build>
</project>
pom.xml を保存して、pom.xml を右クリックし、実行から Maven test を実行します。
しばらくすると、Strtus2 が依存するライブラリを自動でダウンロードしてくれます。これは便利^^
以降は、pom.xml を保存すれば自動で依存関係が更新されます。
どうも最初の1回目だけ Maven test を実行しないとダウロードされないっぽい。
プロキシ環境下での注意
プロキシを介して、インターネットに接続しているような環境では、エラーが出て失敗することがあります。
[WARNING] Could not transfer metadata org.apache.maven.plugins/maven-metadata.xml from/to central (https://repo.maven.apache.org/maven2):
この場合、%UserProfile%.m2settings.xml を修正して対応します。
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.com</host>
<port>8080</port>
<username>proxyuser</username>
<password>proxypassword</password>
<nonProxyHosts>www.example.com|*.saka-en.com</nonProxyHosts>
</proxy>
</proxies>
active | プロシキを有効にするかどうか。 |
---|---|
protocol | プロキシのプロトコル。 |
username | プロキシのユーザ名。不要なら行ごと削除。 |
password | プロキシのパスワード。不要なら行ごと削除。 |
port | プロキシのポート番号。 |
host | プロキシのホスト名。 |
nonProxyHosts | プロキシを使用しないホスト名をカンマ区切りで定義。不要なら行ごと削除。 |
id | プロキシを識別するID。不要なら行ごと削除。 |
これでもうまくいかない場合、mirror を設定するとうまくいくことがあります。
<mirror>
<id>central</id>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
まとめ
EclipseでMavenプロジェクトを作成する方法を紹介しました。
Maven を使うまで、依存ライブラリは公式サイトへ行って、調べたり取ってきたりとかしていました。これを使うようになってからは、それらの手間が省けてとても便利になりました。あんま流行ってないなんてこともネット上では散見されましたが、自分はありがたく使っています^^
皆さんもぜひ試してみてください。
おつかれさまでした。