【转】Dubbo中 提供者发布私有库成功,消费者加入依赖成功。但是调用dubbo的方法时,找不到方法,异常java.lang.NoSuchMethodError

遇到的坑 dubbo打包发布成功 API也成功点出方法来,http方式也能正常访问核心方法,但是API调用一直报找不到该方法的错误

 

 

解决 java.lang.NoSuchMethodError的问题

1、操作

项目重新打包后,程序就找不到对应的方法

Handler dispatch failed; nested exception is java.lang.NoSuchMethodError

3、原因(可能有多种原因,但下面是我这次导致错误的原因)

有2个不同版本的jar同时存在

注:项目的打包都是maven的package,结果发现这种方式不会把同名的另外版本的jar给clean掉,所以之后要先clean再package

4.解决方法

删除掉老版本的jar(本地maven库)

 

其间做过的事情:

1.怀疑传参 的时候是否需要引入标注 是否对应的相同类型 2.是否别处核心在启动中 3.差错提示中路径中多出一个大写“L” 例如:Lcom/citydelivery/deliveryService/DTO/Response;]由于自己java开发经验不多 看到这个提示怀疑自己是否不注意 在某个地方碰到键盘”L“ 全局搜索并没有找到有错的地方 然后接下来堆栈跟踪:java.lang.NoSuchMethodError:com.citydelivery.deliveryService.ExpressStockService.getWaitSignWaybillList(Ljava/lang/String;)

解决方法

Java使用这些字母在内部对方法签名进行编码.例如,“L”宣布以下“对象”,其由完整的类名称指定,后跟分号. “V”应该在括号前面,并描述一种返回类型“void”.

举个例子:

java.lang.NoSuchMethodError:

org.springframework.web.context.ContextLoader

.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;

它说,org.springframework.web.context.ContextLoader类中没有方法调用getCurrentWebApplicationContext,它不接受任何参数[由()表示),并返回一个名为“org / springframework / web / context / WebApplicationContext(由’;’关闭).

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值