公司现在的开发要从eclipse切换到idea,跟上潮流。而且大数据项目也逐渐增多,很多时候需要在linux上调试。今天就总结一下如何使用idea远程调试tomcat。
1)tomcat配置。部署是调试的基础,要将war部署到tomcat对应文件夹下。编辑bin/catalina.sh,添加如下字符串。其中ip是远程tomcat地址,9090端口是后面用到的jmx端口。
export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.80.128"export JAVA_OPTS="-Dcom.sun.management.jmxremote=-Dcom.sun.management.jmxremote.port=9090-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false"
配置完后,启动tomcat发生变化,使用命令bin/catalina.sh run > /dev/null 2>&1 &启动。可以在浏览器中进入tomcat主页查看是否启动成功。
2)idea配置。
jmx端口即1)中配置端口,
选择sftp,填写ip地址,然后点击旁边按钮,
然后填写webapp的路径,以及机器用户名和密码(会提示填写)。
在Startup/connection中,填写debug的端口,并将jvm启动参数复制下来。
再填写ip和debug端口。
3)再次配置tomcat。在catalina.sh 的JAVA_OPT中添加之前的bug端口JVM信息。下图写在CATALINA_OPTS中了,但是似乎没有影响。
然后重启tomcat,注意启动方式以改变。
4)tomcat启动后,进入idea,设置好断点,然后就可调试。idea会先把war包部署上去,然后就会进入断点。
参考: