library source does not match the bytecode for class

library source does not match the bytecode for class

在IDEA中阅读代码时,时常会跟踪到jar包源码层面,会点击Download Sources,源码包就会被下载到idea中

但是当pom.xml引入了新的版本,此时,再次阅读源码时,就会提示”library source does not match the bytecode for class“ 库源与类的字节码不匹配

原因是:源码文件(xxx-sources.jar)和字节码文件(xxxx.jar)不匹配

 网上的解决方案无非以下几种

1、使用了lombok,禁用lombok

2、invalidate caches /restart清空idea缓存重新启动

3、删除maven仓库中的jar包

经过以上尝试,都无法解决,最终在stack overflow中找到了解决方案

解决方案:删除maven仓库中xxxx.jar 对应的 xxx-sources.jar文件,重新Download Sources

① 定位该class类在jar包中的位置

如下所示:CommonsMultipartFile.class 文件在 org.springframework.web:4.3.12.RELEASEjar包中

② 右键此类,选择Copy--->Copy Path,找到该类的存储位置

③ 进入该目录,删除所有后缀带-sources.jar的文件

rm -rf spring-web-4.3.12.RELEASE-sources*

 打开idea(无须重启),就没有错误提示了

参考链接:https://stackoverflow.com/questions/36753524/library-source-does-not-match-the-bytecode-for-class

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上尤流苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值