运行时修改Maven调试端口:并行调试多应用方案问询
如何在运行时修改mvndebug的调试端口以支持并行调试
没问题,我正好有过类似的多窗口并行调试Maven项目的需求,给你几个简单直接的方案,不用修改全局配置,每个窗口可以独立设置专属端口:
方法一:运行命令时临时指定环境变量
这是最直接的方式,每个窗口执行mvndebug命令时,直接在前面带上自定义的MAVEN_DEBUG_OPTS,互不干扰:
- 第一个窗口(端口8001):
MAVEN_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001" mvndebug clean install - 第二个窗口(端口8002):
MAVEN_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8002" mvndebug clean install
这种方式的好处是仅对当前这条命令生效,不会影响同一窗口后续的其他命令,也不会污染全局环境变量。
方法二:先临时设置窗口级环境变量,再运行mvndebug
如果同一个窗口需要多次执行调试命令,不想每次都写长串参数,可以先在窗口内临时设置MAVEN_DEBUG_OPTS,之后该窗口的所有mvndebug都会使用这个端口:
- 第一个窗口操作:
# 先设置当前窗口的环境变量 export MAVEN_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001" # 再运行调试命令 mvndebug clean install - 第二个窗口同理,把
address的值改成8002即可。
注意事项
- 选择端口时要确保端口未被其他进程占用,避免启动失败;
- 两个窗口的环境变量是完全独立的,所以各自设置的端口不会互相冲突;
- 如果之后想恢复默认的8000端口,只需关闭当前窗口,或者在窗口内执行
unset MAVEN_DEBUG_OPTS即可。
内容的提问来源于stack exchange,提问作者zappee
相关产品推荐
相关产品推荐

