找了一圈,感觉都没有到点子上,最后终于调通了,记录一下:
原理:就是利用jvm的远程调试方法
步骤:
1,创建一个demo项目,引入插件:
<plugin>
<groupId>org.hibernate.tool</groupId>
<artifactId>hibernate-tools-maven</artifactId>
<version>${hibernate.version}</version>
<dependencies>
<dependency>
<groupId>org.hibernate.tool</groupId>
<artifactId>hibernate-tools-orm</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>db2jcc4.jar</artifactId>
<version>9.7</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>entity-generation</id>
<phase>generate-sources</phase>
<goals>
<goal>hbm2java</goal>
</goals>
<configuration>
<ejb3>true</ejb3>
</configuration>
</execution>
</executions>
</plugin>
2,使用maven命令启动该插件(注意必须点击run按钮,不能点击debug按钮;这里我也觉得很奇怪,我以前一直点debug远程调试没有出过问题,但是这次调试插件就出问题了,怎么调都调不好,改成run运行就可以了,可能debug按钮自带的参数覆盖了我们填写的远程调试参数。):
org.hibernate.tool:hibernate-tools-maven:6.0.0-SNAPSHOT:hbm2java
记得配置jvm远程调试相关参数:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
截图如下:
3,在另一个项目插件源码中打断点,并远程连接demo项目的插件goal调试端口;
大功告成,成功进入断点,可以调试了。