maven 是个好工具,管理起来还是相当方便的,不过说道用 eclipse 来调试,那应该是 eclipse 的远程调试,步骤和各设置如下:
1、工具栏 �C> Run �C>External Tools �C>External Tools Configurations,配置如下
在右侧的 environment 的选项卡添加如下变量:
MAVEN_OPTS = -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y
2、Run �C> Debug Configurations,设置如下:
在右侧 environment 的选项卡添加如下变量(与前面一致,address 为端口号)
MAVEN_OPTS = -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y
3、重新打开第一步的设置面板,点击 Run;打开第二次设置的面板,点击Debug,就可以开始调试之旅啦,使用这种方法调试,相对本地的调试,应该会没有那么完美,我所知道的就有 display 功能不能用。
另外,在 maven 开发里会经常遇到,一个工程由工作空间里好几个项目组成,在调试过程中,调试各模块的代码,也是一种常见的需要,具体设置如下:
1、运行 maven 项目时,选择 Resolve workspace artifacts
2、在 Refresh 选项卡里,勾选 resources upon completion
3、Source 选项卡添加进工作空间 Workspace
如此设置,在 调试时,便可顺利切换到各个模块代码中。另外,如果调试时需要看maven依赖的第三方jar包的源码,可以直接在 jar 包上右键下载源码。
若遇上 JVM_BIND(8080) 的问题,可以使用以下两个命令解决:
netstat -aon|findstr “8080”
知道对应进程的 pid,再输入
tasklist|fidstr "pid"
在资源管理器关闭该 pid 进程即可。