美文网首页
通过GitHub解决调试中源代码不匹配的问题(MAVEN插件为例

通过GitHub解决调试中源代码不匹配的问题(MAVEN插件为例

作者: 叫我C30混凝土 | 来源:发表于2020-04-01 01:04 被阅读0次

注:maven helper的idea插件,能可视化查看maven版本依赖于冲突

IDEA运行debug的本质,就是启动一个JVM,让字节码与代码进行匹配

问题:调试代码时,调试器报出源代码不匹配

  • 确定不匹配的类
  • 寻找对应GitHub的仓库
  • 确定正在使用的版本
  • 引入正确的版本,若有冲突,解决

确定不匹配的类:

以mvn-loc-plugin代码为例,(maven插件,统计一共有多少行代码)

  1. mvn install (将本地代码打包)
  2. 其他项目A中引用该打包代码的插件
<plugin>
    <!-- 名字随便起的 -->
    <groupId>com.maven.test.plugin</groupId>
    <artifactId>maven-loc-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
</plugin>

运行mvn-loc-plugin代码
mvn com.maven.test.plugin:maven-loc-plugin1.0-SNAPSHOT:loc

debug运行mvn-loc-plugin代码
mvnDebug com.maven.test.plugin:maven-loc-plugin1.0-SNAPSHOT:loc
若需要修改8000端口号~\apache-maven-3.5.3\bin\mvnDebug.cmd脚本中自行修改

debug模式启动mvn插件loc.png
  1. 在A中新建remote连接


    remote连接.png
  2. 启动debug的remote连接

总结:

maven启动JVM.而IDEA的全类名与JVM对不上;
此时,调试器显示字节码与源代码匹配不上;

解决问题:
1.找到引入差异的pom版本.
2.找对应全类名的GitHub代码,更新<dependency>版本,并解决冲突即可;
com.sisu.xxx site:GitHub

相关文章

网友评论

      本文标题:通过GitHub解决调试中源代码不匹配的问题(MAVEN插件为例

      本文链接:https://www.haomeiwen.com/subject/nvvnuhtx.html