公司如今的开发要从eclipse切换到idea,跟上潮流。并且大数据项目也逐渐增多,不少时候须要在linux上调试。今天就总结一下如何使用idea远程调试tomcat。html
1)tomcat配置。部署是调试的基础,要将war部署到tomcat对应文件夹下。编辑bin/catalina.sh,添加以下字符串。其中ip是远程tomcat地址,9090端口是后面用到的jmx端口。java
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主页查看是否启动成功。linux
2)idea配置。web
jmx端口即1)中配置端口,浏览器
选择sftp,填写ip地址,而后点击旁边按钮,tomcat
而后填写webapp的路径,以及机器用户名和密码(会提示填写)。intellij-idea
在Startup/connection中,填写debug的端口,并将jvm启动参数复制下来。app
再填写ip和debug端口。eclipse
3)再次配置tomcat。在catalina.sh 的JAVA_OPT中添加以前的bug端口JVM信息。下图写在CATALINA_OPTS中了,可是彷佛没有影响。webapp
而后重启tomcat,注意启动方式以改变。
4)tomcat启动后,进入idea,设置好断点,而后就可调试。idea会先把war包部署上去,而后就会进入断点。
参考:
http://blog.csdn.net/tianjun2012/article/details/52795202
http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/remote-debugging.html