java 异常com/google/protobuf/UnknownFieldSet

来源:互联网 发布:制作印章的软件 编辑:程序博客网 时间:2024/05/29 19:02
Caused by: java.lang.VerifyError: class org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;        at java.lang.ClassLoader.defineClass1(Native Method)        at java.lang.ClassLoader.defineClass(ClassLoader.java:791)        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)        at java.security.AccessController.doPrivileged(Native Method)        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)        at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:211)        at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64)        at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75)        at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:86)        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:850)        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635)        ... 57 more

protobuf-java-2.4.0a.jar的GeneratedMessage类代码

  //@Override (Java 1.6 override semantics, but we must support 1.5)  public final UnknownFieldSet getUnknownFields() {    return unknownFields;  }

protobuf-java-2.5.0.jar版本的GeneratedMessage类代码

  //@Override (Java 1.6 override semantics, but we must support 1.5)  public UnknownFieldSet getUnknownFields() {    throw new UnsupportedOperationException(        "This is supposed to be overridden by subclasses.");  }

将原来的final方法改成了需要子类重写的方法。

所以会报上面出现的不能重写final方法的错。

解决办法:换protobuf-java-2.5.0.jar版本及以上版本的jar包

0 0
原创粉丝点击