もうJava8が出てからかなりたつのに、既存で動いているシステムはすぐには最新バージョンでは動かせない悲しさ。
しかし中には容赦なくJDK8でコンパイルされているライブラリもあり、そのようなクラスを対象バージョン以下のJDKで動かした場合には、「java.lang.UnsupportedClassVersionError:」が出てしまう。
未然に防ぐためにjarの中身のクラスファイルをチェックしてみるべし。
jar xvf xxx.jar javap -v xxx.class #出力結果抜粋 minor version: 0 major version: 48
majar versionに注目!これが48であれば、JDK1.4でコンパイルされたということである!
しかしこのmajarバージョンとJDKのバージョンの不一致にも困ったもんだな。
JDK1.2が46でそこから0.1ずつ上がるたびに1ずつ増えて、1.6では50となる。