Java 类版本可以使用以下命令从类二进制文件中获取javap
javap -verbose Test | grep 'minor\|major'
minor version: 0
major version: 55
是否可以提前知道 JDK 将生成哪个类版本?java -version
不显示它
java -version
openjdk version "11.0.17" 2022-10-18
通常与java.lang.UnsupportedClassVersionError 错误 https://stackoverflow.com/questions/10382929/how-to-fix-java-lang-unsupportedclassversionerror-unsupported-major-minor-versi.
JDK 生成的 Java 类主要/次要版本可以从以下位置获取java
, javac
or javap
命令如下
java -XshowSettings:properties -version 2>&1 | grep -E -e 'java\.(class\.)?version '
javac -J-XshowSettings:properties -version 2>&1 | grep -E -e 'java\.(class\.)?version '
# testing all 3 commands
for cmd in "java " "javac -J" "javap -J"; do echo "${cmd% *}"; ${cmd}-XshowSettings:properties -version 2>&1 | grep -E -e 'java\.(class\.)?version ' ; done
Result:
java
java.class.version = 61.0
java.version = 17.0.8.1
javac
java.class.version = 55.0
java.version = 11.0.20.1
javap
java.class.version = 55.0
java.version = 11.0.20.1
Note: 就像我的情况一样 :p ,Linux 错误配置可能会给出与以下不同的结果java
and javac
表明这两个命令属于不同的版本。通常可以使用以下方法修复alternatives
命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)