报错java.lang.ClassNotFoundException:XXXXXXXXXXX在过去的一个多星期中经常出现,我是一点头绪都没有,第一次学习这种hbase+idea连接,然后又连接phoenix等
出现了各种各样的错误,各种各样的java.lang.ClassNotFoundException
如
java.lang.ClassNotFoundException:org.apache.hadoop.hbase.TableName
java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.ConnectionFactory
今天找到一个排除错误的方法:就是,看看调用的东西是否为null。
我在一个java文件中想获取一个HBaseDML的对象然后对hbase表进行操作,但是一直报错误java.lang.ClassNotFoundException:org.apache.hadoop.hbase.TableName,可是我在改HBaseDML中创建main函数对表进行增删改查操作是完全没有问题的,但是从这个java文件获取却出现各种各样的问题,结果我发现从这个java获取到的HBaseDML的connection对象是一个null,所以用HBaseDML进行增删改查出现了错误。
我哭死,我的最后一个问题居然是tomcat的问题。。。。我一直在想这个ConnectionFactory它又能有什么错呢。。。而且在之前的测试都能通过一加上web部分就连连报错。。。
java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.ConnectionFactory
一定要按照步骤走,不然很容易直接报错:java.lang.IllegalStateException: 启动子级时出错
更改后,所有测试信息出现。。我恨你tomcat,我恨你idea,我恨你加载不成功,我恨你
解决步骤:
这里注意不是直接把tomcat删除,而只是删除deployment里面的deploy
file-->project structure
添加回来,添加后记得点击apply,然后ok
点击Apply然后OK
回到tomcat把deploy添加回来
重新运行tomcat,我的问题得到解决。
- ClassNotFoundException java langclassnotfoundexception java lang annotation annotationformaterror java lang java lang numberformatexception getsystenantnames java lang module classformaterror annotation 20230707 java lang classloader 20230711 java lang nullpointerexception jfinal java lang 20230411 iterable java lang 20230525 class java lang classcastexception java lang jsonarray