Java classファイルがどのバージョンでコンパイルされたのかを調べる

もう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となる。

カテゴリー: Java パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.