Eclipse+Maven という便利な開発環境をインストールからプロジェクト作成まで

* Eclipse Kepler (4.3.2) SR2 Packages で説明する

# Mavenは何が便利？
## Mavenがjarとかライブラリをダウンロードしてくれる
* 使いたいライブラリを個別に集めなくてもいい。
* 使いたいライブラリに関連する別のライブラリも集めなくていいい。
* 他の開発者にわざわざライブラリを渡さなくてもいい。
* ライブラリのバージョンが上がっても、バージョン番号をいじるだけ。
* ライブラリの元のソースコードもMavenがダウンロードしてくれる。
* Jenkinsを使っていたら、jenkinsはMavenとの連携は簡単。
* ダウンロードされたライブラリはローカルディスクのライブラ置き場で保管され、必要に応じて使われる。
* Eclipseのビルドパスに勝手に追加してくれる。共同開発者も含めてビルドパス管理不要になる。
* 複数のプロジェクトのライブラリの種類やバージョンを１箇所で管理できたりもする。

# Eclipseのダウンロード
https://www.eclipse.org/downloads/
Eclipse IDE for java EE Developers をダウンロード！

![eclipse-dl.png](https://qiita-image-store.s3.amazonaws.com/0/37624/49e321a8-cdf2-00fa-2f20-77e8fef57de4.png)


# Eclipseのインストール

zip(windows)を解凍。macもインストール簡単。

![eclipsezip.png](https://qiita-image-store.s3.amazonaws.com/0/37624/a5468b03-861a-f83f-3be5-520ebe95f8fa.png)


あとは、eclipse.iniの設定する。macの場合はeclipseアイコンを右クリックして「パッケージの内容を見る」で出てくる。

# eclipse.iniの設定

おすすめは最後の行にこれを１行。これでデフォルトUTF-8で編集できて色々な問題を回避できると思う。

````
-Dfile.encoding=UTF-8
````

windows32bitの場合は動かない可能性もあるので、256の数字を128とかに書き換えたり、512の数字を448とかに書き換えると動作する

起動して、適当に作業フォルダ（workspace）を選んじゃってください。

# Mavenプロジェクトの作成

（既にあるプロジェクトをMavenプロジェクトに変更することも可能だが、今回は新規）

Maven Projectを選ぶ。ない場合はどっか探して。

![eclipsenew.png](https://qiita-image-store.s3.amazonaws.com/0/37624/489cc53a-e372-dbe0-2e12-eeaae4a1bb57.png)

Create a simple projectにチェック

![eclipsenew1.png](https://qiita-image-store.s3.amazonaws.com/0/37624/d8ef7951-e36b-4124-520e-743b6908b1ac.png)

* Group id は全体のプロジェクト名でも付けとく
* Artifact id は１個のプロジェクト名になる。パッケージ名でも入れとけばいい。
* Version 最後の完成形のファイルにバージョンが付いたりする。とりあえずデフォルトで。
* Packaging 完成形の形を指定。jarでもwarでも選ぶ。pomは特別でプロジェクト個別にライブラリのバージョンを管理するのはスーパー面倒なので、ライブラリを共通で管理する用。下にあるParent Projectってのがそれだけど、今なにも無いし後でも設定できるのでスルー。

![eclipsenew0.png](https://qiita-image-store.s3.amazonaws.com/0/37624/d1fde63b-61d8-4b34-d930-b83543deb361.png)


完成形

なんだかフォルダがいっぱい。上から順にざっと説明。（表示が違う人は右上の設定がJava以外になっている）

* 実行時のソースコード
* 実行時のソースコード以外のファイル
* 試験用のソースコード
* 試験用のソースコード以外のファイル
* JDKのバージョン（1.5が残念）
* 関係なし
* 関係なし（出来上がりが入る）ファイル管理しなくてもよいよ。
* pom.xml はMaven用のファイル。ライブラリの指定をここでする。

![eclipsenewfin2.png](https://qiita-image-store.s3.amazonaws.com/0/37624/e02b870e-dc9b-e6e5-a342-7ce45aad579d.png)

# jdkのバージョン変更

この辺からできる

![confb.png](https://qiita-image-store.s3.amazonaws.com/0/37624/6c88f961-8a24-e50d-f04d-93059aa527d2.png)

ダブルクリックすると選択肢が出てくるので変更できる

![confb2.png](https://qiita-image-store.s3.amazonaws.com/0/37624/828b3e4e-f1ab-4697-ca3a-fddd8463731f.png)

(WARを選択した場合のみ)　あと、左の入力欄にfaceと入れてあげるとJavaのバージョンが出てくるのでそこも変更しとく

![confb3.png](https://qiita-image-store.s3.amazonaws.com/0/37624/f2bd6dee-3f8d-9520-e533-3270eb9cffa3.png)

# ライブラリの追加

追加の方法は簡単。pom.xmlファイルからAddをクリックするだけ。

![dep.png](https://qiita-image-store.s3.amazonaws.com/0/37624/8e36c624-cf2d-0d64-ef3e-b33cca03f928.png)

![add.png](https://qiita-image-store.s3.amazonaws.com/0/37624/57b25a6f-8a21-7858-76fb-84bd72187d95.png)

ここにキーワードと入力するとライブラリがダウンロードされて、ビルドパスに入るといった形になる。

下記のホームページで使いたいライブラリを探す。

http://mvnrepository.com/artifact/org.apache.commons/commons-exec/1.2

そして下記のような記述があるので、それを記入するとゴール！

![pom.png](https://qiita-image-store.s3.amazonaws.com/0/37624/e254b009-d999-4415-f043-22cb76a3582d.png)

![add2.png](https://qiita-image-store.s3.amazonaws.com/0/37624/f8514ebe-a22f-4e0b-0c28-2c2e70048834.png)

変更したpomを保存するとこんな感じになってライブラリが使える状態に！

![add4.png](https://qiita-image-store.s3.amazonaws.com/0/37624/b2bb3b0f-3dda-8ab9-1fb2-7c799b229933.png)

おしまい

# その他の応用

* ライブラリのバージョン番号を個別の設定で持たないようにする
* 複数プロジェクトでライブラリを共通管理
* 自作のライブラリプロジェクトを作って、それをpom使って参照する
* Eclipseでライブラリが必要なだけで、サーバではサーバに入っているライブラリを使う
* コードチェックとか試験網羅性をチェックするとかの設定

とかとか機能は色々。

# Mavenでのトラブル

## Mavenがライブラリダウンロード途中失敗すると残念・・・
下記の手順で復旧して。
http://qiita.com/taoyag/items/8b29c819e8430bca1c6b

## プロキシ使わないと外の世界に出れない人も設定がいる

「.m2/settings.xml  プロキシ」で検索！