JMeter java.lang.VerifyError:无法从最终类继承

问题描述

我正在尝试创建一个 JavaSampleCLient 并通过 JMeter 加载它。这在较新版本的 JMeter 中工作正常。即版本 5.4.1。但是我需要支持 JMeter 2.10在这里,当我尝试加载我的 jar 文件时,它会产生以下异常

2021/07/29 17:11:32 INFO  - jmeter.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties 
2021/07/29 17:11:44 FATAL - jmeter.JMeter: An error occurred:  java.lang.VerifyError: Cannot inherit from final class
    at java.base/java.lang.classLoader.defineClass1(Native Method)
    at java.base/java.lang.classLoader.defineClass(ClassLoader.java:1016)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/java.net.urlclassloader.defineClass(urlclassloader.java:550)
    at java.base/java.net.urlclassloader$1.run(urlclassloader.java:458)
    at java.base/java.net.urlclassloader$1.run(urlclassloader.java:452)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.net.urlclassloader.findClass(urlclassloader.java:451)
    at java.base/java.lang.classLoader.loadClass(ClassLoader.java:588)
    at java.base/java.lang.classLoader.loadClass(ClassLoader.java:521)
    at java.base/java.lang.class.forName0(Native Method)
    at java.base/java.lang.class.forName(Class.java:398)
    at org.apache.jorphan.reflect.ClassFinder.isChildOf(ClassFinder.java:465)
    at org.apache.jorphan.reflect.ClassFinder.access$000(ClassFinder.java:46)
    at org.apache.jorphan.reflect.ClassFinder$FilterTreeSet.add(ClassFinder.java:106)
    at org.apache.jorphan.reflect.ClassFinder$FilterTreeSet.add(ClassFinder.java:63)
    at org.apache.jorphan.reflect.ClassFinder.findClassesInOnePath(ClassFinder.java:532)
    at org.apache.jorphan.reflect.ClassFinder.findClassesInPaths(ClassFinder.java:548)
    at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:291)
    at org.apache.jmeter.gui.action.ActionRouter.populateCommandMap(ActionRouter.java:257)
    at org.apache.jmeter.gui.action.ActionRouter.getInstance(ActionRouter.java:300)
    at org.apache.jmeter.JMeter.startGui(JMeter.java:231)
    at org.apache.jmeter.JMeter.start(JMeter.java:380)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.apache.jmeter.NewDriver.main(NewDriver.java:259)

Cannot inherit from final class 异常似乎是 well known 问题。即,较新版本的 Java 要么在类定义添加final,和/或现在将其视为安全违规。

但是我正在努力确定问题区域。也就是说,我可以找到解决办法。

是否有关于如何解决此问题的任何建议?由于此错误来自 JMeter 2.10,我想用最新的 Java 版本重新编译是不可能的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)