8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

classファイルをコンパイルしたJavaバージョンを調べる方法

Last updated at Posted at 2017-11-13

Java10まで確認済みです(2018/08/01 現在)。

コマンド

javap -v file.class | grep "major version" | awk '{ print $3 - 44 }'

解説

javap -vコマンドで表示されるメジャーバージョンの値は、「サポートclassバージョン」(≠Javaバージョン)らしいです。
classバージョンは「Javaバージョン+44」なので、それを引いてあげればOKです。

Javaが互換性を維持している=それより前の「サポートclassバージョン」をすべてサポートしている
ということみたいですね。

懸念点

Java9よりあとはバージョンの付け方が変わるため、どうなるか不明です。
今後のバージョンのベータ版はいつか出るんしょうかね?

2018/03/12 追記

Java10以降のバージョン表記は↓のようになるらしいです。
実際にjava -versionでどのように出るのかはわかりませんが、参考までに。

参考

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?