Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

QuartzはWARに含んだJARファイルとコンテナのlibディレクトリにあるJARファイルのバージョン違いでClassNotFoundExceptionが発生

java.lang.ClassNotFoundException: org.quartz.JobDetail

Quartzでスケジューリングしようとしたんだけど、上記例外が発生した。

もちろん、libディレクトリにQuartzのJARはあるから、ライブラリのバージョンを上げてみたりしたんだけど、例外が発生したまま。

今回の原因は、Commons Langが2バージョンあったからだった。QuartzはLangに依存してないんだけど…なぜ?

WARには2.5、コンテナのlibに2.1が入っていたのを、統一したら発生しなくなった。


ちなみに、QuartzをMavenリポジトリで検索するときは「quartz」じゃダメです。

グループID「org.quartz-scheduler」で検索してください。でないと最新のバージョン見つからないです。