前言
以IntelliJ IDEA为例,通常我们调试maven项目时,都是直接点击调试按钮即可。但maven编写的插件就不同了,由于插件需要打包成Jar加载到项目中,所以如果我们需要在编写插件源码时调试的话,就不能直接点击调试按钮了(因为没有Main类),那么该怎么办呢?
解决方案
假设及正在编写的maven插件拥有如下坐标:
<groupId>myPluginGroupId</groupId> <artifactId>myPluginArtifactId</artifactId> <version>myPluginVersion</version>
再假设你想将这个插件用在某个项目中,而项目中的pom. 是这样定义这个插件的:
<plugin> <groupId>myPluginGroupId</groupId> <artifactId>myPluginArtifactId</artifactId> <version>myPluginVersion</version> <executions> <execution> <id>myPluginGoal</id> <phase>compile</phase> <goals> <goal>myPluginGoal</goal> </goals> </execution> </executions> </plugin>
其中,myPluginGoal 即为你要调试的目标。
那么可以在Terminal中输入命令:
mvnDebug myPluginGroupId:myPluginArtifactId:myPluginVersion:myPluginGoal
然后,程序会自动分配8000 Listen端口。此时,在myPluginGoal对应的程序中打上断点,再点击调试按钮,就可以调试啦!
后记
调试的方法有多种,本文中的方法比较简单,如有特殊需求可查询其他方法。
参考资料
《Maven实战》第17章介绍了编写maven插件的方法
继续阅读与本文标签相同的文章
-
8 分钟了解 Kubernetes
2026-05-18栏目: 教程
-
Helm 从入门到实践 | 从 0 开始制作一个 Helm Charts
2026-05-18栏目: 教程
-
阿里云突发性能实例t5 和共享型实例xn4 n4的区别
2026-05-18栏目: 教程
-
【DockerCon2017技术解读】Docker特性介绍
2026-05-18栏目: 教程
-
面向海量数据的极致成本优化-云HBase的一体化冷热分离
2026-05-18栏目: 教程
