使用mvnDebug命令在Maven中进行调试

问题描述

哇,Maven很难做到这一点。设置-XrunjdwpMAVEN_OPTS将无法正常工作,因为mvnDebug.bat后来添加了自己,这将覆盖MAVEN_OPTS。我会复制mvnDebug.batmyMvnDebug.bat和注释掉线set MAVEN_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000。这样,您可以MAVEN_DEBUG_OPT在运行之前在命令行上进行设置。

C:\somewhere>set MAVEN_DEBUG_OPT=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001
C:\somewhere>myMvnDebug.bat

解决方法

我正在为要调试的服务运行intellij远程调试和Maven。

我在跑

mvnDebug tomcat7:run

这给我以下结果

Preparing to Execute Maven in Debug Mode
Listening for transport dt_socket at address: 8000
^Ctai-m:sb-api-internal-server tai$ m

我的问题是我想轻松更改端口。我知道我可以进入pom.xml文件并对其进行更改,或者可以在以下位置进行以下操作:

mvnDebug.bat

@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000

但我希望能够在命令行上指定我的端口。有什么办法吗?我希望能够在一次运行的不同地址上调试多个服务,并且给人的印象是,必须为每个服务设置和重置调试文件设置很麻烦。

一位朋友说应该有可能,但我似乎找不到解决办法。

本质上,我正在寻找一种方法,以方便地切换希望运行服务的端口,而无需在启动多个服务时多次修改文件。否则,您还有其他解决方案吗?例如,第一个调试实例在一个端口上运行,然后第二个调试实例在另一个端口上(硬编码)?

谢谢

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”