方式1:set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
方式2:mvndebug或mvnDebug,在windows命令行下大小写不敏感
在maven上debug,经常跟jetty或tomcat插件在一起使用。如运行mvnDebug jetty:run命令后再通过eclipse远程连接调试。
maven的安装目录下存在mvnDebug.bat文件,打开可以看到具体的配置项如下:
- set MAVEN_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
这里对几个参数进行说明:
- -Xdebug : 启动debug模式
- -Xnoagent: 禁用默认sun.tools.debug调试器
- -Djava.compiler:指定编译器类型,可方便优化 jitc jitc_de等
- -Xrunjdwp:启动调试协议JDWP,全称是Java Debug Wire Protocol,它定义了JPDA front-end和JPDA back-end之间通讯信息的二进制格式。这里的通讯信息主要包括两种:调试器发送给JVM的请求信息和JVM发送给调试器的调试信息。有如下子项:
-transport:JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
-server:y/n 该jvm是被调试者还是调试器
-suspend:y/n 是否等待外部调试器的连接,如jetty启动时候,是否等待eclipse的远程连接后在进行jetty的初始化工作。在调试web容器的时候用的很多
-address:监听端口
本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/635867,如需转载请自行联系原作者