Bootstrap

maven之插件调试

当使用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就会进入断点:

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;