无法从最终类错误继承

新手上路,请多包涵

这个错误是什么意思..它在 Eclipse 中运行良好但在 intellij idea 中运行不正常

Exception in thread "main" java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at com.couchbase.client.ViewConnection.createConnections(ViewConnection.java:120)
at com.couchbase.client.ViewConnection.<init>(ViewConnection.java:100)
at com.couchbase.client.CouchbaseConnectionFactory.createViewConnection(CouchbaseConnectionFactory.java:179)
at com.couchbase.client.CouchbaseClient.<init>(CouchbaseClient.java:243)
at com.couchbase.client.CouchbaseClient.<init>(CouchbaseClient.java:175)
at com.couchbase.App.putincbase(App.java:122)
at examplesCons.TestCons.run(TestCons.java:89)
at examplesCons.TestCons.main(TestCons.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

当我尝试使用 Intellij IDea 中的 couchbase-client-1.1.6.jar 运行 couchbase 时出现此错误。

原文由 TommyT 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 601
2 个回答

如果您使用的是科特林,请将 open 添加到您的类(扩展 RealmObject)声明中

open class Foo() {

}

原文由 itzhar 发布,翻译遵循 CC BY-SA 4.0 许可协议

该消息意味着它所说的。

在某处,您设法创建了一个扩展超类的类,其中超类已声明为 final

最可能的原因是您的构建类路径和启动类路径之间存在冲突。换句话说,您正在针对不是 final 的超类版本编译子类,然后针对 final 版本运行。验证者(正确地)说这是错误的。


如果不是您的构建/您的某个类导致了此问题,那么您正在使用的 CouchDB 客户端类中存在一些内部冲突。事实上,这是一个 VerifyError 而不是 IncompatibleClassChangeError 表明这可能是一些动态生成的字节码的问题。

原文由 Stephen C 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏