EclipseでMavenプロジェクトを作成する方法

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 インストール

これ以前の場合は、Eclipse の [ヘルプ] - [新規ソフトウェアのインストール] から m2e をインストールしてください。

http://download.eclipse.org/technology/m2e/releases

Maven プロジェクトの追加

Eclipse メニューから [ファイル] - [新規] - [プロジェクト] を選択し、[Maven プロジェクト]を選びます。

EclipseメニューからMavenプロジェクトを選択

[デフォルト・ワークスペース・ロケーションの使用]にチェックが入っていることを確認し、次へボタンを押下します。[シンプルなプロジェクトの作成] にチェックが入っていると、アーキタイプの選択画面をスキップできます。アーキタイプとは、Maven プロジェクト作成時に指定する、プロジェクトのひな型をのようなものです。

Mavenプロジェクト デフォルト・ワークスペース・ロケーションの使用にチェックが入っていることを確認

[シンプルなプロジェクトの作成] にチェックを入れなかった場合、アーキタイプの選択画面が出てきます。

Mavenプロジェクト アーキタイプの選択画面

Webアプリの場合、フィルターに「maven-archetype-webapp」と入力して、選択して次へボタンを押下します。

Mavenプロジェクト フィルターに「maven-archetype-webapp」と入力

アーキタイプ・パラメータの指定画面では、下記の3つを入力します。

グループ Idルートパッケージ名を指定します。
アーティファクト Idプロジェクト名を指定します。
パッケージルートパッケージ名を指定します。

ここでは、下図のように指定しました。

Mavenプロジェクト アーキタイプ・パラメータ指定

完了ボタンを押下すれば、プロジェクトの生成はおしまいです。

Struts2のライブラリの依存性を追加

サンプルとして、Struts2 のライブラリを追加します。下記のサイトへ移動して、検索ボックスに struts2 と入力し、結果の strtus2-core をクリックします。

Maven Repository Search-Browse-Explore

Maven Repository Struts2

現在の最新版である 2.5.2 を選択し、出てきた画面の Maven タブのソースをコピーします。

Maven Repository Struts2-core 2.5.2を選択

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 を実行します。

Mavenプロジェクト Maven test実行

しばらくすると、Strtus2 が依存するライブラリを自動でダウンロードしてくれます。これは便利^^

Mavenが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 を使うまで、依存ライブラリは公式サイトへ行って、調べたり取ってきたりとかしていました。これを使うようになってからは、それらの手間が省けてとても便利になりました。あんま流行ってないなんてこともネット上では散見されましたが、自分はありがたく使っています^^

皆さんもぜひ試してみてください。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。