使用idea开发和调试maven插件
在上一篇日志中,我在框架项目A中自定义了一个maven插件,并且执行了 mvn clean install
命令安装到本地仓库。在业务项目B目录下,使用maven命令mvn compile com.tangliu:gm-maven-plugin:2.0.0-SNAPSHOT:run
,将项目B的target下资源添加到容器的类加载路径,并启动了框架项目A的容器,成功实现了我的期望:业务开发不需要关心框架代码,不需要打开框架项目A, 但开发调试时可以直接在当前项目启动。
本篇日志记录开发和使用maven插件时,若遇到问题需要调试该如何处理。
步骤如下:
- 在业务项目B目录下执行maven命令:
mvnDebug compile com.tangliu:gm-maven-plugin:2.0.0-SNAPSHOT:run
, 它将开启maven debug模式,开启一个本地监听端口8000 - 在框架项目A中,点击IDEA 右上角
Run/Debug Configurations
,添加一个远程Jvm调试Remote JVM Debug
, 名称随便定义,修改端口为8000,与步骤1对应,然后保存退出 - 在框架项目A中,IDEA 右上角选择刚刚保存的运行配置,点击
Debug
按钮,连接到本地8000端口。这个时候,若你在相应位置设置了断点,那么可以看到程序已经运行到此处了。同时,若在项目中打印了日志,那么可以在业务项目B的控制台或者日志中看到对应输出 - 可以开始愉快的调试了
那么,假如插件一切运行如常,我们又该怎么Debug 项目B呢。
- 使用IDEA打开项目B, 在右上角
Run/Debug Configurations
添加一个Maven
配置,名字随意,在Run输入框输入要执行的maven命令,如上面的记录,那么应该输入compile com.tangliu:gm-maven-plugin:2.0.0-SNAPSHOT:run
,保存退出 - IDEA 右上角选择刚刚保存的运行配置,点击
Debug
按钮,就可以开始调试了