idea 远程部署、调试tomcat

本文详细介绍如何使用IDEA将Maven Web工程部署到远程Tomcat服务器并进行调试,包括配置Tomcat、创建Maven Web工程、配置远程部署及解决常见问题。

idea 部署web工程 到 远程tomcat服务器上,并调试,记录一下;

环境:

CentOS 7.6

Tomcat 8.5.34 / 8.5.39 / 9.0.12

IDEA 2018.1

 

1、配置tomcat

tomcat服务器的IP地址:10.132.12.25

tomcat目录位置:/usr/local/apache-tomcat-8.5.34

 

conf/server.xml中,使用默认http 80端口;

 

bin/catalina.sh中,添加如下内容;

export CATALINA_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.132.12.25"     =》tomcat服务器ip地址

export JAVA_OPTS="-Dcom.sun.management.jmxremote=
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

如果要远程调试,可以设置CATALINA_OPTS如下:

export CATALINA_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.132.12.25 -agentlib:jdwp=transport=dt_socket,address=52951,suspend=n,server=y"

Debug使用socket方式传输,端口号自己设置,比如:52951

 

启动tomcat,(不能再使用bin/startup.sh);

bin/catalina.sh run &

 

2、创建maven web工程

使用本地独立的maven环境,maven仓;

创建成功后,默认在main目录下,只有webapp文件夹,包含index.jsp

 

3、配置远程部署

选项卡:Server

选择Build Artifacts -> web:war exploded ;

选项卡:Deployment

选项卡:Startup/Connection

如果要远程调试,选择Debug,参照第1节的配置,传输方式使用socket,端口52951;

添加远程Server;

也可以通过菜单Tools->Deployment->Configuration...,添加远程Server;

 

点击Run运行,可以远程部署web;

弹出网页;

如果本地代码修改,只需要重新运行部署即可;

 

点击Debug调试,可以远程调试web工程;

修改本地Java文件代码,Ctrl+F9,只会把修改后的class文件,上传到远程Tomcat服务器;

(在idea中,stop停止运行,不会影响远程Tomcat的运行)

 

问题:

1、如果运行时,出现如下错误:

Error running 'tomcat remote run': Unable to connect to the 10.132.12.25:1099, reason: java.rmi.ConnectException: Connection refused to host: 10.132.12.25; nested exception is: java.net.ConnectException: Connection timed out: connect

首先检查下CentOS 7的防火墙,是否没有放通1099端口;

如果是测试的话,可以直接关闭防火墙;

firewall-cmd --state

systemctl stop firewalld.service

2、远程调试时,修改Java文件,Ctrl+F9,可以把编译后的class文件,更新到远程Tomcat服务器;

修改本地jsp、js、css等文件,不会单独更新到远程Tomcat服务器;

因为如下 On 'Update' action,只有两个选项:Hot Swap classes,Redeploy;

TODO 还需要找找其他方法吧

 

参考:

https://blog.youkuaiyun.com/tianjun2012/article/details/52795202

http://www.cnblogs.com/qnight/p/8983145.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值