配置IntelliJ远程Tomcat调试时如何忽略JMX端口?
解决IntelliJ IDEA 2018.1.3调试Tomcat时强制要求JMX端口的问题
我太懂这种官方文档和实际操作不符的闹心感了——明明说没部署内容就不用填JMX端口,结果IntelliJ偏不让你保存配置,这大概率是该版本IDEA的一个小逻辑bug,不过有两个简单办法能搞定:
方案一:临时填个未占用端口(快速绕过校验)
这个方法最省事,完全不用改Tomcat配置:
- 打开Run/Debug Configurations窗口,找到你创建的Tomcat Remote调试配置
- 在JMX Port字段随便填一个本地没被占用的端口,比如
9999(可以用netstat -ano命令查看端口占用情况) - 直接保存配置就行!虽然填了端口,但因为你没部署内容,IDEA实际上不会用到这个JMX端口,完全不影响后续调试功能
方案二:给Tomcat开启JMX(适合后续需要相关功能的场景)
如果之后你可能用到JMX监控,或者想彻底解决这个校验问题,可以给Tomcat加JMX启动参数:
- 找到Tomcat安装目录下的
bin/catalina.bat文件,用文本编辑器打开 - 在文件开头添加以下代码:
set CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false - 重启Tomcat,回到IDEA配置里填
9999作为JMX端口,就能正常保存,还能正常连接JMX了
额外补充:确保调试功能正常生效的关键步骤
别忘了Tomcat本身得开调试模式,不然IDEA连不上:
- 同样编辑
catalina.bat,添加调试启动参数:set CATALINA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 - 在IDEA的调试配置里,把Debug port设为
8000,Host填localhost - 先启动Tomcat,再启动IDEA的调试配置,就能顺利断点调试你的Web应用了
总结一下,那个JMX端口的校验就是该版本IDEA的小问题,临时填个端口就能绕过,不用太纠结~
内容的提问来源于stack exchange,提问作者kc2001
相关产品推荐
相关产品推荐

