【Java】CSVライブラリのプロジェクト状況についての紹介(2019年4月)

2019年4月時点での、Javaで使用するCSVライブラリのプロジェクトの状況について紹介します。

【注意】

このページでは、機能詳細/比較などの紹介はしていません。おもに各ライブラリのプロジェクトの開発状況などについての情報を紹介します。

はじめに

Javaで使用するCSVライブラリを調査していたところ、多数の情報に記載されているプロジェクトの状況についての記載内容が古くなっている情報がありました。

このため、記載されている内容での単純な判断ができなかったため、プロジェクトの状況についてまとめることにしました。この情報が、次に探す人の手助けになると良いかなと思います。

調査した結果としては、執筆時点では以下に記載するライブラリが良いかなと思います。

代表的なCSVライブラリについての紹介

調査時点での代表的なCSVライブラリを執筆時点での最新情報を記載します。

OrangeSignal CSV

詳しい内容は、公式サイトを確認してみてください。

システム要件

  • Java:6+

プロジェクト状況

  • ライセンス:Apache License 2.0
  • 開発状況:2014年で停止中

Mavenリポジトリの登録情報

Super CSV

詳しい内容は、公式サイトを確認してみてください。

システム要件

  • Java:6+

プロジェクト状況

  • ライセンス:Apache License 2.0
  • 開発状況:2015年で停止中

Mavenリポジトリの登録情報

Super CSV Annotation

詳しい内容は、公式サイトを確認してみてください。

システム要件

  • Java:8+
  • Super CSV:2.4+

プロジェクト状況

  • ライセンス:Apache License 2.0
  • 開発状況:2018年時点で継続中

Mavenリポジトリの登録情報

Opencsv

詳しい内容は、公式サイトを確認してみてください。

システム要件

  • Java:7+

プロジェクト状況

  • ライセンス:Apache License 2.0
  • 開発状況:2019年時点で継続中

Mavenリポジトリの登録情報

注意事項

すでにライブラリを使用しているシステムを「4.x」へバージョンアップする場合は、下位互換性がなくなるので注意してください。バージョンアップについては、こちらを確認してみてください。

どのライブラリを使用するかを迷っている人へ

Javaで使用するCSVライブラリは、2005年からリリースされているライブラリもあるため、すでに「枯れた技術」と考えられます。このため、どのライブラリを選択しても概ねシステムで必要なことは実現できる可能性は高いと考えられるます。

ただし、1つだけ気がかりなことがあります。それは、定期的にメンテナンスされていないことです。

ライブラリの機能としては、すでに問題のない状態であると思います。しかし、今後のJavaのバージョンアップにより、組み合わせると使いづらい場面に遭遇することがあるかもしれません。

ライブラリを選択する基準として、開発が継続中と考えられるとなっていることを加えても良いかなと思います。

まとめ

紹介した代表的なCSVライブラリのプロジェクト状況、Mavenリポジトリに登録されている情報についてのまとめを以下に記載します。

各ライブラリのプロジェクトの状況について

各ライブラリのプロジェクトの状況について、以下に記載します。

名称システム要件ライセンス状況
OrangeSignalJava:6+Apache License 2.02014年で停止中
Super CSVJava:6+Apache License 2.02015年で停止中
Super CSV AnnotationJava:8+
Super CSV:2.4+
Apache License 2.02018年時点で継続中
OpencsvJava:7+Apache License 2.02019年時点で継続中

各ライブラリのMavenリポジトリの登録状況について

各ライブラリのMavenリポジトリに登録されている状況について

名称最新バージョン日付Mavenリポジトリ
OrangeSignal CSV2.2.1Sep 20, 2014こちら
Super CSV2.4.0Oct 29, 2015こちら
Super CSV Annotation2.2Jul 14, 2018こちら
Opencsv4.5Feb 10, 2019こちら