EclipseでMavenを導入して、ライブラリを使用する方法
こんにちは、@Yuuです。
久しぶりにjavaを書く案件を頂きまして、
その時に「jsoup」という、javaでスクレイピングをするためのライブラリを使用しました。
そのライブラリを使うために「Maven」を導入してみたのですが、以外と導入するまで難しく感じたので、
eclipseでMavenを使用し、更にライブラリを導入する方法を紹介したいと思います。
スポンサーリンク
Mavenについて
まず、Mavenについて軽く説明したいと思います。
Mavenとは
そもそもMavenて何なのさ、という話なのですが
Maven は Project Object Model (POM) という考え方に基づき、プロジェクトのビルド、テスト、ドキュメンテーション、成果物の配備など、プロジェクトのライフサイクル全体を管理します。プロジェクトのビルドツールである Ant とは異なり、Maven はプロジェクト管理ツールとして、プロジェクトに関する色々な情報を POM に集約し、POM の情報に基づきプロジェクト全体を管理します。
こんな感じだそうです。
説明は難しいですが、簡単に言うと プロジェクト作成支援ツールと考えていいんじゃないかな、と思います。
Mavenを導入する利点
Mavenを導入するとどのように便利になるか具体的な例をあげますね。
例えば、チーム開発をする際にライブラリのバージョンを統一することができ、バージョンを上げる際もバージョン番号を変更すればすみます。そのため、チームの人達がライブラリの元のソースコードを意識しなくて良くなります。
こうすることで、ライブラリのバージョンが違って、他の人のソースコードでは動かない!といった事が起きなくなるというわけです。
また1人で作業する場合でも、ライブラリを導入することはありますよね。そんな時にも
「このライブラリ入れるためには、このホームページからダウンロードしなきゃいけないっぽいけど、どこに落ちてんだ?」
「えっ!?ダウンロードしてみたけど、これバージョン古いの!?」
という事がなくなります。
後ほどご紹介しますが「Maven Repository」というサイトで検索し、必要事項をちょちょっと書くだけですぐにライブラリを使う事が出来るようになります!
うむ、便利だ!(⌯¤̴̶̷̀ω¤̴̶̷́)✧
ちなみに、今回ご紹介する部分の説明を引用すると
プロジェクトの依存するライブラリの管理。
となるかなと思います。
Mavenの読み方
「Maven」の読み方は、
「メイバン」もしくは「メイヴェン」だそうです。
余談ですが、
僕はずっと「Maven」ではなく「Marven」とそもそもつづりを勘違いしていたため「マーヴィン」とか言ってました。
アホすぎる・・。・゚(。ノω\。)゚・。
eclipseでMavenを導入する
解説をする前に、僕の環境を書いておきます。
- Mac OS X Yosemite バージョン10.10.5
- Eclipseのバージョンは4.3のKeplerで、日本語化済
です。
新規プロジェクトを作成
お待たせしました。
Marvenではなく、Mavenを導入する方法を解説したいと思います。
まずEclipseを立ち上げます。
Eclipseのメニューバーから
メニュー -> 新規 -> Mavenプロジェクト
を選択します。
今回は「シンプルなプロジェクトの作成(アーキタイプの選択)」にチェックを入れて下さい。
「デフォルト・ワークスペース・ロケーションの使用」にもチェックを付けておいた方が分かりやすいので、チェックを入れておきましょう!
アーキタイプ
アーキタイプというのは、プロジェクトのひな形・種類のようなものです。
例えば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のみ追加しています)
では、これから「jsoup」を導入し、Main.javaで使用出来るようにしてみたいと思います!
ライブラリを追加する
今回はMavenの機能を用いて「jsoup」を導入します。
jsoupは最初にも書いたとおり、javaでスクレイピングをするためのライブラリです。
ライブラリを追加する方法は、1度やればすぐに覚えられるぐらいに簡単です。
ライブラリの追加は「pom.xml」というところから追加します。
pom.xmlを開いたらタブの中から「依存関係」を選択し、追加ボタンを押します。
この画面の
- グループid
- アーティファクトId
- バージョン
この3つの項目に入力すれば、
あら不思議!ライブラリがもう使える!₍₍ (ง ˙ω˙)ว ⁾⁾
という状態になります。
では3つの必要な情報を取得しましょう。
そのために以下のサイトにアクセスして下さい。
Maven Repository: Search/Browse/Explore
このMaven Repositoryというサイトには、Javaの色々なライブラリのデータが登録されています。
このサイトで使いたいライブラリを検索します。
今回は「jsoup」というライブラリを導入するので、jsoupと入力し検索します。
検索を行うと以下のような画面が出てくるので、Jsoupを選択します。
次に、バージョンを選択する画面が出てくるので、ここでは最新版の1.8.3を選択します。
バージョンを選択した後の画面の中ほどに、先程必要になると書いた「グループid」、「アーティファクトId」、「バージョン」の3つが書かれています。
それぞれ、<groupId>や<artifactId>と書かれたタグの中の値が必要な値です。
あとは、これらの値を先程のEclipseの画面に戻って入力すれば、ライブラリが使用出来るようになります!
以下のように入力し、OKを押します。
すると以下のように、jsoupが追加されています。
なんとこれだけで、jsoupが使えるようになっています!
本当に使えるの?
と思われる方もいらっしゃるかもしれないので、実際に使えるか確認してみたいと思います。
先程作ったMain.javaファイルに、Jsoupのライブラリを導入出来るかどうか試してみると・・
このように、jsoupのライブラリがインポート出来るようになっています!
たったこれだけで本当に、jsoupが使える状態になりました!
(๑•̀ㅂ•́)و✧
あとがき
Mavenの利点としては、今後jsoupがバージョンアップ版を出したとしても、先程のpom.xmlのバージョンの値を変更すればいいだけだったり、
何より、ライブラリを導入するのが楽なところじゃないかなと思います。
たった3つの項目を入力すれうばいいだけなので。
今後もjavaで開発する機会があれば、Maven使っていこうと思いました。
ではでは
今回はこの辺で!ヽ(•̀ω•́ )ゝ✧