Java调用Hbase出现java.lang.reflect.InvocationTargetException异常解决方案
问题背景
在连接Hbase时,出现反射错误
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:64)
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/MasterProtos$MasterService$BlockingInterface
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:228)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119)
at com.dazhen.data.api.util.test.HbaseDevTest.main(HbaseDevTest.java:28)
... 5 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingInterface
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 11 more

解决方案
pom的依赖有冲突,把冲突项全部排除掉
作为程序员第 82 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …



在尝试使用Java连接Hbase时遇到了NoClassDefFoundError异常,具体表现为java.lang.reflect.InvocationTargetException。问题的根本原因是pom.xml中的依赖存在冲突。为了解决这个问题,需要检查并排除所有冲突的依赖项,确保所有必需的Hbase和Hadoop相关库都正确且无冲突地引入到项目中。
2034

被折叠的 条评论
为什么被折叠?



