【转】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(由’;’关闭).

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值