こんにちは!フリーランスの長野です。
Javaのライブラリって使っていますか?ライブラリを使うと、いつも同じ処理を記述する手間が省けたり、一からコーディングする手間を省くことができて便利です。
そこでこの記事では、Javaのライブラリについて
- ライブラリとは?
- おすすめのライブラリ一覧
- ライブラリの使い方
という基本的な内容から、
- ライブラリを作成する方法
など応用的な内容についても解説していきます。今回はJavaのライブラリについて、わかりやすく解説します!
なお、Javaの記事については、こちらにまとめています。
ライブラリとは
ライブラリとは、よく使う複数のプログラムを再利用できるようにひとまとまりにしたものです。Javaではクラスライブラリとも言います。
JavaではライブラリをJARファイル(拡張子が.jar)で提供することが多いです。JARファイルはコンパイルの際に作成されるclassファイルを一つに集めて圧縮したファイルです。またこのJARファイルは自分で作ることもできます。
おすすめのライブラリ一覧
Javaはありとあらゆる分野で利用されていますが、それぞれの分野で利用して便利なライブラリが無償で用意されています。用途ごとにみていきましょう!
画像処理
- OpenCV
- pen Source Computer Vision Libraryの略で、インテルが公開・開発したオープンソースの画像処理ライブラリ
画像処理・画像解析および機械学習を行うことができる/ 詳細はこちら
C/C++で書かれたプログラムをJavaでも使うことができます。
csvの読み込み・出力
- OrangeSignal CSV
- 日本産のCSVライブラリです。JDK1.6以上で利用できます。CSVテキストへのアクセスだけでなく、ZIPファイル内のCSVファイルにもアクセスできる高機能なライブラリです。詳細はこちら
- Super CSV
- JDK1.5以上で利用可能です。/ 詳細はこちら
- opencsv
- opencsv。JDK1.5以上で利用可能です。/ 詳細はこちら
- Apache POI
- Excel2003形式である「.xls」とExcel2007形式である。「.xlsx」の両方のタイプのエクセルファイルを扱うことができます。/ 詳細はこちら
- ExCella
- 簡潔な記述でExcelを操作することが可能。Excelのバージョン違いにも対応。/ 詳細はこちら
JSON
- Jackson
- クラスオブジェクトとJSONデータとの変換に便利。/ 詳細はこちら
など
- JSON In Java
- Map型やList型のオブジェクトとJSONデータとを変換する場合に便利。/ 詳細はこちら
JavaでJSONデータを扱う方法については、こちらで詳しく解説していますので、ぜひ参考にしてください。
構文解析
- JavaParser
- Javaのソースコードを構文解析するライブラリ。Java8以降で使用可能。/ 詳細はこちら
- Eclipse JDT
- Eclipseのプラグインライブラリ。Java Development Toolsの略/ 詳細はこちら
- java.util.Scannerクラス
- Java5から追加された正規表現を使った構文解析が可能なテキストスキャナ文章/
ssh
- JSch
- 最もメジャーなライブラリ。/ 詳細はこちら
グラフィック
- JavaFX
- Swingに代わるGUIライブラリ。Java7以降に標準で搭載。/ 詳細はこちら
JavaFxについてはこちらで詳しく解説していますので、ぜひ参考にしてください。
ライブラリの使い方
それではライブラリの使い方について説明していきます。ライブラリを使う方法については以下のとおりいくつか方法があります。
- システムフォルダに配置(インストール)
- コマンドでclasspathを指定
- Eclipseでビルド・パスに追加
それぞれの方法について説明します!
インストール
JavaのJDKやJREが標準でインストールされるフォルダにライブラリのJARファイルを配置する方法について説明します。ここではWindowsにJREをインストールした際に生成される以下のフォルダを例に説明します。
C:Program FilesJavajre1.8.0_181
このフォルダ内の「libext」ファルダにJARファイルを配置します。この方法ではコンパイル時や実行時にclasspathを指定する必要はありません。JSONデータをライブラリJSON in Javaで扱う方法をサンプルに使って確認しましょう。
引用元:MVN repository https://mvnrepository.com/artifact/org.json/json
こちらからライブラリを入手します。
Versionを選択して、”bundle”ボタンを押すとjarファイルのダウンロードが開始されます。ここではダウンロードされた「json-20180130.jar」を「C:Program FilesJavajre1.8.0_181libext」に配置します。
コマンド
java -version
で表示されたバージョンが保存されているフォルダの「libext」フォルダにJARファイルを配置します。
import org.json.JSONObject; public class Main { public static void main(String[] args) { JSONObject obj = new JSONObject(); obj.put("name", "Taro Tanaka"); obj.put("age", 30); System.out.println(obj); } }
実行結果:
コマンド
javacコマンド、javaコマンドのclasspathオプションを使ってコンパイル、実行する方法について説明します。
classpathオプションを使ってJARファイルのパスを指定します。実行時にclasspathオプションを使ってJARファイルのパスを指定する場合はパス指定の後ろに「;」(セミコロン)が必要ですので注意しましょう!
classpathについてはこちらで詳しく解説していますので、ぜひ参考にしてください。
Eclipse
それではEclipseという開発環境を使ってclasspathを指定する方法を説明します。Eclipseのプロジェクト名を右クリックして、「ビルド・パス」→「外部アーカイブの追加」を選択することでJARファイルを登録し、classpathを追加することができます。
「参照ライブラリー」にJARファイルが追加されます。
これでライブラリが使えるようになります。開発環境Eclipseの使い方については、こちらで詳しく解説していますので、ぜひ参考にしてください。
ライブラリを作成する方法
自分でライブラリを作成することができます。コマンドを使う方法とEclipseを使う方法をご紹介します。
コマンド
例えばHelloフォルダ内のクラスファイルをjarファイルにまとめて、そのjarファイルとMain.javaファイルを使って処理するということをやってみましょう。
Hello/Hello1.java:
public class Hello1 { public Hello1() { System.out.println("Hello World!"); } }
Hello/Hello2.java:
public class Hello2 { public Hello2() { System.out.println("Hello Java!"); } }
この2つのファイルをMain.javaファイルから使用します。
Main.java:
public class Main { public static void main(String[] args) { Hello1 hello1 = new Hello1(); Hello2 hello2 = new Hello2(); } }
コンパイルしたら、HelloフォルダでHello1.classとHello2.classファイルをHello.jarファイルに圧縮します。
Hello.jarファイルとMain.javaファイルを使ってコンパイルをします。Hello.jarファイルを指定するのに-classpathオプションを使います。
ただし注意すべき点が1点あります。実行する際にはjarファイルの指定後に「;」(セミコロン)が必要です。
jarコマンドの使い方についてはこちらで詳しく解説していますので、ぜひ参考にしてください。
Eclipse
EclipseでJARファイルを作成する方法について説明します。
プロジェクト名を右クリックし、「エクスポート」を選択クリックします。「Java」→「JARファイル」を選択し、「次へ」ボタンをクリックします。
「エクスポート先を選択してください」にJARファイルのパスを指定し、「次へ」ボタンをクリックします。
「次へ」ボタンをクリックします。
「内容のシール」でラジオボタン「JARをシールする」を選択クリックし、「アプリケーションのエントリー・ポイントのクラスを指定:」の「参照」ボタンをクリックします。
メインクラスを選択して「OK」ボタンをクリックしたあと、「完了」ボタンをクリックしたらJARファイルが生成されます。
まとめ
今回はJavaのライブラリについて解説してきましたが、いかがでしたか?Javaでは用途によって様々なライブラリが用意されています。
また、自分でライブラリを作成して流用することもできます。ライブラリを活用して楽にプログラムが作成できるように、この記事を何度も参考にして下さいね!