场景:
本地IDEA启动服务正常,打完jar包后,通过java -jar 命令启动服务失败。
报错信息如下

Error creating bean with name 'hbaseUtil': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/protobuf/generated/MasterProtos$MasterService$BlockingInterface

原因:
jar包冲突。启动的服务为A服务,A服务中依赖了B服务。A服务中的有个hbase-client jar包版本为1.2.2,B服务最近刚加了一个更高版本的2.0jar包,jar冲突导致出现NoClassDefFoundError异常。

排查过程:
1.找到报错误的jar包,在如下面板找到相应jar包,查看是否有两个版本,右击Find Usages可以查看那个服务用到了这个jar包
在这里插入图片描述
2.解决依赖冲突后重新打包,在本地打开cmd窗口,用java -jar命令启动,看是否能正常启动。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐