idea-tomcat server远程部署并调试代码

1.tomcat端配置

首先第一步,需要开启tomcat端的jmx,可以加到catalina.sh脚本中,也可以加到startup.sh,或者/etc/profile,如下(包含远程调试):

#远程调试参数
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"
JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
#开启JMX
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=10.196.52.12"#部署环境IP

如果加到/etc/profile,需要执行source /etc/profile命令,还有就是因为/etc/profile是全局控制,如果启动了多个tomcat,不建议加到这里,测试过加到catalina.sh中不会相互影响,如下图:

在这里插入图片描述
添加完脚本后,重启tomcat

2.idea端配置

edit configuration
idea-tomcat server远程部署并调试代码_第1张图片
“+”->tomcat server->remote
选择SFTP
idea-tomcat server远程部署并调试代码_第2张图片
配置SFTP
输入IP、用户名、密码、root path
root path:我填写的是tomcat部署路径同mapped as
idea-tomcat server远程部署并调试代码_第3张图片
填写远程tomcat地址和端口,并且选择build的artifact
idea-tomcat server远程部署并调试代码_第4张图片
deploy页签,选择部署的项目,和build artifact保持一致
在这里插入图片描述
点击run,编译上传项目文件
在这里插入图片描述
可以在服务器端,查看tomcat日志,上传完成后,tomcat随即启动项目

注意

一开始是不会显示jmx port,只有配置完毕才能看到(或者连接tomcat成功,一般都是默认1099端口)
idea-tomcat server远程部署并调试代码_第5张图片
一般不推荐使用此功能上传部署项目,相较于传统的包(war、jar)部署,这个上传的是项目文件,相当于tomcat运行部署文件(war包解压缩后的文件),因此文件小且多,上传速度反而很慢,不能进行快速部署

远程调试

需要配置远程调试监听端口(和remote远程调试配置类似)

打开edit configuration,查看tomcat server配置,startup/connection选中debug
下面会有一段配置代码

-agentlib:jdwp=transport=dt_socket,address=64387,suspend=n,server=y

idea-tomcat server远程部署并调试代码_第6张图片
可以重设端口号
idea-tomcat server远程部署并调试代码_第7张图片
将此代码添加到远程tomcat bin/catalina.sh下
配置如下:
JAVA_OPTS="$JAVA_OPTS --agentlib:jdwp=transport=dt_socket,address=64387,suspend=n,server=y"
重启tomcat,使配置生效

去除远程部署时需要的build等加载和上传项目artifact
idea-tomcat server远程部署并调试代码_第8张图片
idea-tomcat server远程部署并调试代码_第9张图片
调试代码:
在这里插入图片描述

远程调试的时候,一定要保持本地代码和远程代码一致,这样才能保证调试的正确性,因此通常情况可能会用到上述1.2步骤上传本地代码到服务器,或者从本地直接打包最新代码到服务器

参考:
intelliJ一键部署远程tomcat
IntelliJ IDEA 远程部署tomcat应用
Intellij IDEA 配置Tomcat server远程调试
Tomcat server使用IDEA远程Debug调试

你可能感兴趣的:(idea)