EclipseでMavenを導入して、ライブラリを使用する方法

Eclipseでmavenを使う記事のアイキャッチ画像

こんにちは、@Yuuです。

久しぶりにjavaを書く案件を頂きまして、
その時に「jsoup」という、javaでスクレイピングをするためのライブラリを使用しました。
そのライブラリを使うために「Maven」を導入してみたのですが、以外と導入するまで難しく感じたので、
eclipseでMavenを使用し、更にライブラリを導入する方法を紹介したいと思います。

スポンサーリンク

Mavenについて

まず、Mavenについて軽く説明したいと思います。

Mavenとは

そもそもMavenて何なのさ、という話なのですが

Maven は Project Object Model (POM) という考え方に基づき、プロジェクトのビルド、テスト、ドキュメンテーション、成果物の配備など、プロジェクトのライフサイクル全体を管理します。プロジェクトのビルドツールである Ant とは異なり、Maven はプロジェクト管理ツールとして、プロジェクトに関する色々な情報を POM に集約し、POM の情報に基づきプロジェクト全体を管理します。

Maven | TECHSCORE(テックスコア)より引用

こんな感じだそうです。
説明は難しいですが、簡単に言うと プロジェクト作成支援ツールと考えていいんじゃないかな、と思います。

Mavenを導入する利点

Mavenを導入するとどのように便利になるか具体的な例をあげますね。

例えば、チーム開発をする際にライブラリのバージョンを統一することができ、バージョンを上げる際もバージョン番号を変更すればすみます。そのため、チームの人達がライブラリの元のソースコードを意識しなくて良くなります。
こうすることで、ライブラリのバージョンが違って、他の人のソースコードでは動かない!といった事が起きなくなるというわけです。

また1人で作業する場合でも、ライブラリを導入することはありますよね。そんな時にも
「このライブラリ入れるためには、このホームページからダウンロードしなきゃいけないっぽいけど、どこに落ちてんだ?」
「えっ!?ダウンロードしてみたけど、これバージョン古いの!?」
という事がなくなります。
後ほどご紹介しますが「Maven Repository」というサイトで検索し、必要事項をちょちょっと書くだけですぐにライブラリを使う事が出来るようになります!
うむ、便利だ!(⌯¤̴̶̷̀ω¤̴̶̷́)✧

ちなみに、今回ご紹介する部分の説明を引用すると

プロジェクトの依存するライブラリの管理。

Maven | TECHSCORE(テックスコア)より引用

となるかなと思います。

Mavenの読み方

「Maven」の読み方は、
「メイバン」もしくは「メイヴェン」だそうです。

余談ですが、
僕はずっと「Maven」ではなく「Marven」とそもそもつづりを勘違いしていたため「マーヴィン」とか言ってました。
アホすぎる・・。・゚(。ノω\。)゚・。

eclipseでMavenを導入する

解説をする前に、僕の環境を書いておきます。

  • Mac OS X Yosemite バージョン10.10.5
  • Eclipseのバージョンは4.3のKeplerで、日本語化済

です。

新規プロジェクトを作成

お待たせしました。
Marvenではなく、Mavenを導入する方法を解説したいと思います。

まずEclipseを立ち上げます。

Eclipseのメニューバーから
メニュー -> 新規 -> Mavenプロジェクトを選択します。

Mavenプロジェクトを選択

今回は「シンプルなプロジェクトの作成(アーキタイプの選択)」にチェックを入れて下さい。
「デフォルト・ワークスペース・ロケーションの使用」にもチェックを付けておいた方が分かりやすいので、チェックを入れておきましょう!
2つともチェックマークを入れる

アーキタイプ

アーキタイプについて

アーキタイプというのは、プロジェクトのひな形・種類のようなものです。

例えばWebアプリを作成する場合は、「シンプルなプロジェクトの作成(アーキタイプの選択)」にチェックを入れずに、次の項目で出てくるアーティファクトIDが「maven-archetype-webapp」を選んだ方が良い、と言った具合になります。

次の画面で「Artifact Id」と「Group Id」をそれぞれ入力します。
プロジェクトの作成画面入力例
Artifact Idにはプロジェクト名を入力。
Group Idは全体のグループ名を入力。
と見て、何のこと?と思っていたのですが、こういうことのようです。

  • ビルドで生成されるjar(Packagingでwarを選択している場合はwar)ファイルの名前が、
    "Artifact Id"-"Version".jarになる。
    上記の画像の場合だとmavenTest-0.0.1.jarというjarファイルが作成される。
  • またjarファイルをMavenリポジトリに置いた時に配置場所が、
    "Group Id"/"Version"/"Artifact Id"/"Version".jarになる。
    上記の画像の場合だと、"com/hoge/0.0.1/mavenTest-0.0.1.jar"になる。

なるほど。
更に詳しいことは以下のサイトが、分かりやすく参考になりました。

作成したプロジェクトは以下のようなディレクトリ構造になります。
(Main.javaのみ追加しています)

作成したプロジェクトのディレクトリ構造

src/main/javaにソースコードを、
src/test/javaにテストコードを格納します。

では、これから「jsoup」を導入し、Main.javaで使用出来るようにしてみたいと思います!

ライブラリを追加する

今回はMavenの機能を用いて「jsoup」を導入します。
jsoupは最初にも書いたとおり、javaでスクレイピングをするためのライブラリです。

ライブラリを追加する方法は、1度やればすぐに覚えられるぐらいに簡単です。

ライブラリの追加は「pom.xml」というところから追加します。
pom.xmlを開いたらタブの中から「依存関係」を選択し、追加ボタンを押します。
ライブラリを追加するボタンを選択

追加ボタンを押すと、以下のような画面が出てくると思います。
Mavenのライブラリ追加画面

この画面の

  • グループid
  • アーティファクトId
  • バージョン

この3つの項目に入力すれば、
あら不思議!ライブラリがもう使える!₍₍ (ง ˙ω˙)ว ⁾⁾
という状態になります。

では3つの必要な情報を取得しましょう。
そのために以下のサイトにアクセスして下さい。
Maven Repository: Search/Browse/Explore

このMaven Repositoryというサイトには、Javaの色々なライブラリのデータが登録されています。
このサイトで使いたいライブラリを検索します。
検索したいライブラリ名を入力する
今回は「jsoup」というライブラリを導入するので、jsoupと入力し検索します。

検索を行うと以下のような画面が出てくるので、Jsoupを選択します。
Marven Repositoryでの検索結果

次に、バージョンを選択する画面が出てくるので、ここでは最新版の1.8.3を選択します。
使用したいバージョンを選択する

バージョンを選択した後の画面の中ほどに、先程必要になると書いた「グループid」、「アーティファクトId」、「バージョン」の3つが書かれています。
EclipseでMavenを使用する際に必要な項目

それぞれ、<groupId>や<artifactId>と書かれたタグの中の値が必要な値です。

あとは、これらの値を先程のEclipseの画面に戻って入力すれば、ライブラリが使用出来るようになります!
以下のように入力し、OKを押します。
Eclipseで必要な値を入力

すると以下のように、jsoupが追加されています。
jsoupが追加された
なんとこれだけで、jsoupが使えるようになっています!

本当に使えるの?
と思われる方もいらっしゃるかもしれないので、実際に使えるか確認してみたいと思います。
先程作ったMain.javaファイルに、Jsoupのライブラリを導入出来るかどうか試してみると・・
jsoupが使えるようになった
このように、jsoupのライブラリがインポート出来るようになっています!
たったこれだけで本当に、jsoupが使える状態になりました!
(๑•̀ㅂ•́)و✧

あとがき

Mavenの利点としては、今後jsoupがバージョンアップ版を出したとしても、先程のpom.xmlのバージョンの値を変更すればいいだけだったり、
何より、ライブラリを導入するのが楽なところじゃないかなと思います。
たった3つの項目を入力すれうばいいだけなので。

今後もjavaで開発する機会があれば、Maven使っていこうと思いました。

<

p style="margin-top:2em;">ではでは
今回はこの辺で!ヽ(•̀ω•́ )ゝ✧

Eclipseでmavenを使う記事のアイキャッチ画像

この記事が気に入ったらいいね!
して最新情報をチェックしよう!

スポンサーリンク