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

时间:2021-07-29 17:11:32

标签: java jmeter 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 版本重新编译是不可能的。

0 个答案:

没有答案