Java 外部ライブラリApache-Commonsを利用してみる

Java SEなどの標準的なクラスライブラリ以外で何か使いたい場合は、外部ライブラリを使う必要があるようですが、有名なものがApache-Commonsというものらしいです。

Javaでは、外部ライブラリを管理するために、Maven というツールがよく利用されるようです。

⇩  Gradleっていうツールも使われることが多いようです。 

イマドキのIDE事情 第16回Groovyベースのビルドツール「Gradle」をEclipseで使ってみる | Geekroid

今回は、Mavenで。

EclipseMavenプラグインがインストールされてるか

Eclipseでは、Mavenプラグインが最初から組み込まれていることが多いらしく、MavenEclipseプラグイン「m2e」がその正体らしいっす。インストールされているか確認してみます。

Eclipseで、「ファイル(F)」>「新規(N)」>「その他(O)...」を選択。

f:id:ts0818:20170722112759j:plain

Maven プロジェクト」が選択できるようになっていれば、インストール済みです。

f:id:ts0818:20170722112756j:plain

もし、インストールされていなかったら、「ヘルプ(H)」>「Eclipse マーケットプレイス(M)...」を選択し、

f:id:ts0818:20170722112749j:plain

『m2e』で検索すると、見つかります。今回は『インストール済み』となっています。

f:id:ts0818:20170722112746j:plain

「m2e」 がインストールされていれば、EclipseMavenの利用ができるようです。

Mavenプロジェクト

Eclipse「ファイル(F)」>「新規(N)」>「Maven プロジェクト」を選択でいけますが、Javaプロジェクト」を「Mavenプロジェクト」に変換することもできます。

今回は、既存の「Javaプロジェクト」を「Maven プロジェクト」に変換していきたいと思います。

「パッケージ・エクスプローラー」のJavaプロジェクトを選択した状態で、右クリックし、「構成」>「Maven プロジェクトへ変換」を選択します。

f:id:ts0818:20170722114920j:plain

デフォルトの状態で「完了(F)」をクリック。

f:id:ts0818:20170722114916j:plain

「パッケージ・エクスプローラー」の変更されたプロジェクトを開くと、「pom.xml」ファイルがあるので、ダブルクリックし、ファイルが開いたら、タブの「依存関係」を選択します。

f:id:ts0818:20170722114910j:plain

「依存関係」の「追加...」をクリック。

f:id:ts0818:20170722120213j:plain

「グループ ID、アーティファクトID または sha1 窃盗部またはパターン(*)の入力(E): 」で、「lang」と入力すると、「検索結果(S):」に「commons-lang commons-lang」と表示されるので、選択し、「OK」をクリック。

f:id:ts0818:20170722120208j:plain

pom.xmlファイルの「依存関係」にライブラリが追加されるので、pom.xmlファイルを保存します。

f:id:ts0818:20170722120205j:plain

「パッケージ・エクスプローラー」で「Maven 依存関係」の中に、ライブラリが追加されました。

f:id:ts0818:20170722120202j:plain

『C:¥Users¥ユーザー名¥.m2¥repository¥commons-lang¥commons-lang¥2.1』フォルダにいろいろ追加されてます。

f:id:ts0818:20170722122647j:plain

 

外部ライブラリを使ってみる

「新規」>「クラス」を選択。

f:id:ts0818:20170722123824j:plain

「名前(M):」を入力し、「どのメソッド・スタブを作成しますか?」で「public static void main(String[] args)(V)」にチェックをし、「完了(F)」。

f:id:ts0818:20170722123821j:plain

作成したファイルを編集。

package algorithm;

import org.apache.commons.lang.StringUtils;

public class SampleStringUtils {

  public static void main(String[] args) {
    
    String targetStr = "人はいずれ死ぬ、あらため人はいずれパイナッポー";
    
    if(StringUtils.isEmpty(targetStr)) {
      System.out.println("targetStrは空です。");
    } else {
      System.out.println("targetStrは空ではありません。");
    }
  }
}

実行します。

f:id:ts0818:20170722124501j:plain

文字列が空かどうかの判定ができています。『import org.apache.commons.lang.StringUtils』で外部ライブラリが使えています。