catalina.sh
中对JPDA相关的配置变量描述如下:
# JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start" # command is executed. The default is "dt_socket". # # JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start" # command is executed. The default is localhost:8000. # # JPDA_SUSPEND (Optional) Java runtime options used when the "jpda start" # command is executed. Specifies whether JVM should suspend # execution immediately after startup. Default is "n". # # JPDA_OPTS (Optional) Java runtime options used when the "jpda start" # command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS, # and JPDA_SUSPEND are ignored. Thus, all required jpda # options MUST be specified. The default is: # # -agentlib:jdwp=transport=$JPDA_TRANSPORT, # address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
当使用 sh catalina.sh jpda start
方式启动Tomcat的时候,将开启调试功能。默认配置为 -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
。根据Tomcat官方建议的修改方式,在 $CATALINA_HOME/conf/
下新增 setenv.sh
文件,并添加如下内容:
# 将监听端口修改为5005 export JPDA_TRANSPORT=5005
Run > Edit Configuraions... > Add New Configuration
如上图所示,新增一个远程Tomcat运行时配置,并按照下图所示配置:
最主要的是在 Startup/Connection
中配置调试端口:
注意,此处的端口必须与 setenv.sh
中配置的 $JPDA_TRANSPORT
一致。
点击调试,可以在调试窗口中看到连接成功信息
调试之前,我们希望能够自动将本地最新的版本部署到远程Tomcat服务,幸好IDEA为我们提供了这样的服务。接下来,我们将演示如何配置自动部署。
Tools > Deployment > Configurtions...
root path尽量指定为要登录用户的用户目录的绝对路径
之后进入 Mappings
选项卡
local path配置为要同步的文件夹
配置好远程主机后,需要修改同步选项:
Tools > Deployment > Options...
此后,每当local path中的文件有更改,就会被上传到远程主机的deployment path处。
在debug configuration中配置before-lanch动作为构建项目,每次调试时,就会重新生成项目,有改动的文件就会自动更新到远程服务器,达到自动更新项目的目的