使用IDEA远程部署tomcat和调试

Posted 追光者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用IDEA远程部署tomcat和调试相关的知识,希望对你有一定的参考价值。

环境:

  • CentOS 7
  • Tomcat 9.0.1
  • jdk-9.0.1
  • IntelliJ IDEA 2017.3

Tomcat中的配置

  1. catalina.sh文件中加入以下的配置

    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=192.168.19.200
    -agentlib:jdwp=transport=dt_socket,address=15833,suspend=n,server=y"
    export CATALINA_OPTS
  • 以上端口可以随意改动,但是必要的是后续的设置必须保持一致,并且务必保证端口没有被占用,这些设置的端口在防火墙中是开放状态;
  • 其中1099的是tomcat远程部署连接端口;
  • 15833 是远程调试的端口;
  • 192.168.19.200是远程的服务器的Ip。
  1. 启动tomcat
    使用命令启动

    ./bin/catalina.sh run &

IDEA中的配置

新建远程tomcat

技术分享图片

配置远程服务

技术分享图片

技术分享图片

技术分享图片

配置连接tomcat的一些属性

技术分享图片

技术分享图片

技术分享图片

debug启动测试

连接:

[2017-12-23 08:47:03,592] Artifact devframe-server:war exploded: Artifact is not deployed. Press ‘Deploy‘ to start deployment
[2017-12-23 08:47:03,650] Artifact devframe-server:war exploded: Artifact is being deployed, please wait...
Connected to server
Connected to the target VM, address: ‘192.168.19.200:15833‘, transport: ‘socket‘
[2017-12-23 08:47:11,434] Artifact devframe-server:war exploded: Error during artifact deployment. See server log for details.

文件传输:

[2017/12/23 20:47] Uploading to 192.168.19.200 completed in less than a minute: 357 files transferred (8 Mbit/s)

这样就能够成功远程部署并且调试了。

使用的技巧:
技术分享图片
这样每次修改完,点一下就可以热部署,是不是很方便。

容易出现的问题

  • 如果远程没有连接上,两个端口被占用或者防火墙屏蔽。除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,这个如果防火墙关闭了的话就不用考虑,如果使用了防火墙,还需要查看它监听的端口。
  • 账号的相应的读写权限一定要有;



以上是关于使用IDEA远程部署tomcat和调试的主要内容,如果未能解决你的问题,请参考以下文章

[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]

idea 远程调试 tomcat web应用

在idea中用tomcat远程部署调试

IDEA远程调试Tomcat程序

如何使用 Idea 远程调试 Java 代码

IDEA远程调试Java代码