前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >eclipse远程调试命令行执行的maven运行程序

eclipse远程调试命令行执行的maven运行程序

作者头像
10km
发布2019-05-25 20:35:23
8800
发布2019-05-25 20:35:23
举报
文章被收录于专栏:10km的专栏10km的专栏

版权声明:本文为博主原创文章,转载请注明源地址。 https://cloud.tencent.com/developer/article/1433442

有的时候,我们需要调试命令行执行的maven运行程序。该怎么办呢?

我们知道eclipse本身可以执行远程调试,具体做法网上都有不少文章, 这里不再多说。

现在的问题就是在maven在执行时,如何能让eclipse远程调试正在执行的maven程序

maven本身也是java程序,所以只要能让maven运行时开启远程调试端口,eclipse远程调试功能就可以附加到maven的JVM,就可以实现远程调试。

下面的命令就是示例在命令行执行java程序时开启远程调试端口.-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y这一串参数就是用来开启远程调试端口

代码语言:javascript
复制
java -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y -jar target\facelog-service-1.0.10-SNAPSHOT-standalone.jar

既然maven也是个java程序,同理只要在maven执行时加上上面的参数就可以开启远程调试端口了。

maven本身就提供了一个名为mvnDebug的脚本程序,用于Debug方式运行,mvnDebug与mvn命令唯一的不同就是通过MAVEN_DEBUG_OPTS环境变量添加了开启远程调试端口的JVM参数 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000(参见mvnDebug脚本)。

以下为mvnDebug(window版)的脚本内容:

代码语言:javascript
复制
@setlocal
@set MAVEN_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@ 设置环境变量后执行原来的mvn.md脚本
@call "%~dp0"mvn.cmd %*

所以在命令行执行maven时,关键就是MAVEN_DEBUG_OPTS这个环境变量,只要这个环境变量设置了开启远程调试端口的JVM参数,执行传统的mvn命令,也可以实现远程调试。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
远程调试
远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档