benchmark执行命令报java.lang.UnsupportedClassVersionError
问题描述
在新的环境搭建benchmark压测环境时,报如下错误
[root@wang run]# ./runBenchmark.sh props.gs
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: jTPCC has been compiled by a more recent version of the Java Runtime (class file version 62.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
问题排查
根据报错提供的信息,Java .lang. unsupportedclassversionerror: jTPCC已由最新版本的Java运行时(类文件版本62.0)编译,此版本的Java运行时仅识别52.0以下的类文件版本,很明显该问题是由于jdk版本问题引起。
1、先查看当前服务器的jdk版本
2、通过提示可知并查找资料可知,major.minor52.0对应的JDK版本Java SE 8
https://blog.csdn.net/weixin_45131680/article/details/135086075
3、自行下载并按照对应的jdk版本
总结
通过本次问题解决,benchmark5.0版本支持jdk版本,最低为JDK7(官网安装包文档要求),最高为JDK8(实际验证)。