文章来源: https://studyidea.cn/idea_breakpoint_not_usespring
某个多模块项目中使用多个版本的 Spring,如 Spring 4,Spring 5,在使用 IDEA Debug 过程当中发现,Spring 部分 jar 如 spring-core 中的上面断点,IDEA 能够成功进入。可是有部分如 spring-context IDEA 始终没法进入断点。缓存
当 IDEA 进入 spring-core 断点时,打开 spring-context 任意源码,能够发现 IDEA 提示 source code does not match bytecode。ide
看到这个提示,大概知道了问题。ui
主要缘由为应用中使用 Spring4 ,调试过程当中却选择 Spring5 源码,因为两个版本确定存在一些改动,致使 Spring5 的源码对应不上 Spring4 字节码, IDEA Debug 没法进入相关断点。idea
知道问题的缘由,须要找到解决办法。刚开始觉得 IDEA 缓存问题,因而 Build-Rebuild Project 从新构建工程,从新调试,并无什么鸟用。debug
没办法,只能在网上搜索相关解决办法,因而乎在万能的 stackoverflow 找到解决办法。调试
解决方案:code
若是应用中存在多个版本 jar 包时,IDEA 调试过程将会看到以下提示。blog
在这里咱们能够选择相应的版本进行调试。get
若是很不幸,就像我同样,没有显示这个提示,极可能某次调试过程禁用这个功能。不过也不要紧,咱们能够从新在设置 Preferences/Debuggers 从新打开该选项。如图所示:
欢迎关注个人公众号:程序通事,得到平常干货推送。若是您对个人专题内容感兴趣,也能够关注个人博客:studyidea.cn