2019年4月時点での、Javaで使用するCSVライブラリのプロジェクトの状況について紹介します。
【注意】
このページでは、機能詳細/比較などの紹介はしていません。おもに各ライブラリのプロジェクトの開発状況などについての情報を紹介します。
はじめに
Javaで使用するCSVライブラリを調査していたところ、多数の情報に記載されているプロジェクトの状況についての記載内容が古くなっている情報がありました。
このため、記載されている内容での単純な判断ができなかったため、プロジェクトの状況についてまとめることにしました。この情報が、次に探す人の手助けになると良いかなと思います。
調査した結果としては、執筆時点では以下に記載するライブラリが良いかなと思います。
代表的なCSVライブラリについての紹介
調査時点での代表的なCSVライブラリを執筆時点での最新情報を記載します。
OrangeSignal CSV
詳しい内容は、公式サイトを確認してみてください。
システム要件
- Java:6+
プロジェクト状況
- ライセンス:Apache License 2.0
- 開発状況:2014年で停止中
Mavenリポジトリの登録情報
- バージョン:2.2.1
- 日付:Sep 20, 2014
- URL:https://mvnrepository.com/artifact/com.orangesignal/orangesignal-csv
Super CSV
詳しい内容は、公式サイトを確認してみてください。
システム要件
- Java:6+
プロジェクト状況
- ライセンス:Apache License 2.0
- 開発状況:2015年で停止中
Mavenリポジトリの登録情報
- バージョン:2.4.0
- 日付:Oct 29, 2015
- URL:https://mvnrepository.com/artifact/net.sf.supercsv/super-csv
Super CSV Annotation
詳しい内容は、公式サイトを確認してみてください。
システム要件
- Java:8+
- Super CSV:2.4+
プロジェクト状況
- ライセンス:Apache License 2.0
- 開発状況:2018年時点で継続中
Mavenリポジトリの登録情報
- バージョン:2.2
- 日付:Jul 14, 2018
- URL:https://mvnrepository.com/artifact/com.github.mygreen/super-csv-annotation
Opencsv
詳しい内容は、公式サイトを確認してみてください。
システム要件
- Java:7+
プロジェクト状況
- ライセンス:Apache License 2.0
- 開発状況:2019年時点で継続中
Mavenリポジトリの登録情報
- バージョン:4.5
- 日付:Feb 10, 2019
- URL:https://mvnrepository.com/artifact/com.opencsv/opencsv
注意事項
すでにライブラリを使用しているシステムを「4.x」へバージョンアップする場合は、下位互換性がなくなるので注意してください。バージョンアップについては、こちらを確認してみてください。
どのライブラリを使用するかを迷っている人へ
Javaで使用するCSVライブラリは、2005年からリリースされているライブラリもあるため、すでに「枯れた技術」と考えられます。このため、どのライブラリを選択しても概ねシステムで必要なことは実現できる可能性は高いと考えられるます。
ただし、1つだけ気がかりなことがあります。それは、定期的にメンテナンスされていないことです。
ライブラリの機能としては、すでに問題のない状態であると思います。しかし、今後のJavaのバージョンアップにより、組み合わせると使いづらい場面に遭遇することがあるかもしれません。
ライブラリを選択する基準として、開発が継続中と考えられるとなっていることを加えても良いかなと思います。
まとめ
紹介した代表的なCSVライブラリのプロジェクト状況、Mavenリポジトリに登録されている情報についてのまとめを以下に記載します。
各ライブラリのプロジェクトの状況について
各ライブラリのプロジェクトの状況について、以下に記載します。
名称 | システム要件 | ライセンス | 状況 |
---|---|---|---|
OrangeSignal | Java:6+ | Apache License 2.0 | 2014年で停止中 |
Super CSV | Java:6+ | Apache License 2.0 | 2015年で停止中 |
Super CSV Annotation | Java:8+ Super CSV:2.4+ | Apache License 2.0 | 2018年時点で継続中 |
Opencsv | Java:7+ | Apache License 2.0 | 2019年時点で継続中 |
各ライブラリのMavenリポジトリの登録状況について
各ライブラリのMavenリポジトリに登録されている状況について
名称 | 最新バージョン | 日付 | Mavenリポジトリ |
---|---|---|---|
OrangeSignal CSV | 2.2.1 | Sep 20, 2014 | こちら |
Super CSV | 2.4.0 | Oct 29, 2015 | こちら |
Super CSV Annotation | 2.2 | Jul 14, 2018 | こちら |
Opencsv | 4.5 | Feb 10, 2019 | こちら |