在eclipse中调试maven test
一般情况下,使用如下方式都不能使myeclipse检测到程序中的断点:
项目 -> Run As -> maven test
或
项目 -> Debug As -> maven test
如果想使eclipse在执行 maven test 的时候,能进行断点调试,需要进行如下设置:
1、 项目 -> Run As -> Open Run Dialog...
2、在对话框中左侧的 Maven Build 选项点击右键新建一个标签
3、在右侧的Main选项卡中,点击 Browse Workspace... 按钮,并选择要调试的项目名称
4、在右侧的Main选项卡中的 Goals 文本域中 输入 -Dmaven.surefire.debug test
5、点击 Apply 按钮,在点击 Run 按钮 即可执行断点调试
注意:在执行调试的过程中,maven会在控制台输出一下内容:
"Listening for transport dt_socket at address: 5005"
这说明已经启用了断点调试功能,但你会发现随后许久都不会有任何内容输出,原因是上边这行内容是个超链接,需要你点击它之后,才能继续执行,随后才会运行到断点处进行调试。
好了,这个debug设置成功了
附加说明:
1)如果需要修改调试功能的监听端口,可以在上面第4步输入以下内容:
-Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" test
2)build过程会显示信息:Listening for transport dt_socket at address : 5005 。看到这个提示信息之后,在eclipse中,在Debug Configuration窗口,新建Remote Java Application,port设置为5005,然后点击“debug”按钮。之后,刚才的mvn命令将继续往下执行,直到运行到有断点的代码,则停留下来,这时在eclipse中可以调试运行的代码
3)debug时,显示source not found
Debug 视图下
-》在调试的线程上 右键单击
-》选择Edit Source Lookup Path
-》选择Add
-》选择Java Project
选择相应的Project 进行OK确定即可