发布于 

使用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插件时,若遇到问题需要调试该如何处理。

步骤如下:

  1. 在业务项目B目录下执行maven命令:mvnDebug compile com.tangliu:gm-maven-plugin:2.0.0-SNAPSHOT:run, 它将开启maven debug模式,开启一个本地监听端口8000
  2. 在框架项目A中,点击IDEA 右上角Run/Debug Configurations,添加一个远程Jvm调试Remote JVM Debug, 名称随便定义,修改端口为8000,与步骤1对应,然后保存退出
  3. 在框架项目A中,IDEA 右上角选择刚刚保存的运行配置,点击Debug按钮,连接到本地8000端口。这个时候,若你在相应位置设置了断点,那么可以看到程序已经运行到此处了。同时,若在项目中打印了日志,那么可以在业务项目B的控制台或者日志中看到对应输出
  4. 可以开始愉快的调试了

那么,假如插件一切运行如常,我们又该怎么Debug 项目B呢。

  1. 使用IDEA打开项目B, 在右上角Run/Debug Configurations添加一个Maven配置,名字随意,在Run输入框输入要执行的maven命令,如上面的记录,那么应该输入compile com.tangliu:gm-maven-plugin:2.0.0-SNAPSHOT:run,保存退出
  2. IDEA 右上角选择刚刚保存的运行配置,点击Debug按钮,就可以开始调试了