Lui*_*ñoz 1 java javac unsupported-class-version
Java 类版本可以使用以下命令从类二进制文件中获取javap
javap -verbose Test | grep 'minor\|major'
minor version: 0
major version: 55
Run Code Online (Sandbox Code Playgroud)
是否可以提前知道 JDK 将生成哪个类版本?
java -version不显示它
java -version
openjdk version "11.0.17" 2022-10-18
Run Code Online (Sandbox Code Playgroud)
JDK 生成的 Java 类主/次版本可以从java,javac或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
Run Code Online (Sandbox Code Playgroud)
结果:
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
Run Code Online (Sandbox Code Playgroud)
注意:就像我的情况一样:p,Linux 错误配置可能会给出不同的结果java,并javac显示这两个命令属于不同的版本。通常可以使用alternatives命令来修复。
| 归档时间: |
|
| 查看次数: |
710 次 |
| 最近记录: |