現場で使える国産のJavaライブラリ

現場で使えるJavaライブラリで紹介しているライブラリはやはり海外製のものがほとんどです。国産のライブラリはAmaterasで開発している自作自演のモノを除くとJSONICJavassist、それと国産というのか微妙な気がしますがJenkinsの川口さん作のArgs4jの3つだけです(コラムで簡単に触れているだけのものは除く)。
ただ、国産のライブラリで他にも便利なものはありますし、実際企画段階では候補としてあがっていたものもありました。今回は書籍で取り上げることのできなかった国産のJavaライブラリを紹介します。

Fisshplate

ExcelにVelocityのようなコマンドを書いておきテンプレートファイルとして使用するという、Excel版テンプレートエンジンとでも呼ぶべきライブラリです。ユニークで実用性も高く、自分も個人・業務を問わずかなりお世話になっています。ただ、原稿を書き始めてから知ったのですが、jXLSというライブラリで同じようなことができるようだったので、残念ながら今回は外させていただくことにしました。

Mayaa

WebアプリケーションにおいてプレーンなHTMLをテンプレートとして使用することのできるテンプレートエンジンです。すっかりわすれていたのですが、よく考えたらMayaaは別にSeasar2に閉じたものではないのでテンプレートエンジンの章(もしくは用途がほぼWebアプリに限られるのでWebアプリの章)で紹介してもよかったかもしれません。ただ、いまならThymeleafもあるのでそっちのほうがいいかも。

ozacc-mail library

昔は簡単にメールを送信するためのJavaMailラッパーとして使わせていただいていたのですが、いまはCommons Emailがあるので…、ということで。S2Maiもバックエンドはこのライブラリを使っていたはず…。

com4j

Args4j同様、国産というのか微妙な気もしますが…。WindowsJavaからCOMを呼び出すためのライブラリですが、同種の他のライブラリと違い、COMと同じインターフェースを持ったJavaコードを生成してそれを使うという形になっています。COMをタイプセーフに叩けるので非常によさげなのですが、java.netのkenaiへの移行の影響か、執筆時はWebサイトがあちこちリンク切れを起こしていたため紹介を見送ることにしました(代わりにコラムでJacobを紹介しています)。ただ、最近も開発は継続されていますし、Webサイトもメンテナンスされているようにみえます。タイミングが悪かったのかもしれません。

というわけで…

自分の知る限り、業務で使えそうな国産のライブラリをあげてみましたが、FisshplateMayaaはアイデアはよいのに日本でしか使われていないので残念ですね。あとから海外で似たようなライブラリが出てくるということはそういうニーズはあったはずだし、目の付け所もよかったということです。英語サイトを用意するとかちょっとした工夫で海外のユーザにも使ってもらえたんじゃないかなという気がします。
あまり海外がどうこうとか、国産がどうこうと言うのはなんか違う気もしますが、せっかく優れたライブラリを作っているのに言葉の問題で海外のユーザに使ってもらえないというのも勿体ないなぁと思います。