当使用maven进行项目管理的时候,可能会碰到一些疑难问题。网上资料很少,可能会想着直接调试定位问题。这里以maven-compiler-plugin为例:
(1)准备maven-compiler-plugin源码
进入maven 官网-》Maven Plugins-》找到对应的插件-》Git/GitHub(都是跳转同一个地址)下载源码

(2)在idea终端窗口使用mvnDebug开启调试端口
如这里是想对sentinel-dashboard的打包过程(compile也会执行)进行调试:
mvnDebug clean package
它会开启一个监听端口8000,等待另一个远程调试链接
(3)idea打开maven-compiler-plugin源码项目
git切换到对应的版本,有时可能需要改一下pom.xml引用其他maven核心库的版本,比如我调试的是3.6.1,但依赖核心库的版本却是3.0:

这里把它也改成3.6.1,这样跟踪代码到对应核心库时对应的代码才匹配的上。
(4)配置调试参数
添加远程调试配置


添加remote,然后配置端口为8000即可。

之后在对应报错代码添加断点,启动调试即可:

可以看到调试启动连接到8000后,sentinel-dashboard之前执行的mvnDebug clean package就开始运行

执行到compiler阶段后,maven-compiler-plugin就会进入断点:














![[uniapp] 实现扫码功能,含APP、h5、小程序](https://i-blog.csdnimg.cn/direct/769b7bab243b43058ef3f85c9c2c7727.gif)





