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
でどのように出るのかはわかりませんが、参考までに。