vlambda博客
学习文章列表

我的天!你竟然不会用IDEA远程调试Tomcat...

# 准备工作


关掉服务器防火墙:service iptables stop


本地远程服务器配置


添加远程服务器,如下图

我的天!你竟然不会用IDEA远程调试Tomcat...复制远程服务器自动生成的JVM参数,等下有用,如下图,类似我的是:

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

我的天!你竟然不会用IDEA远程调试Tomcat...

把刚刚复制参数加个前缀,变成:


Linux(有单引号):

export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'


Windows(没有单引号):

set JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005


# 服务器Tomcat配置


以Linux环境为例


Tomcat安装在/ usr / program / tomcat7


Tomcat的执行程序:/usr/program/tomcat7/bin/catalina.sh


编辑Tomcat执行程序:vim/usr/program/tomcat7/bin/catalina.sh(Windows是编辑:catalina.bat)


在该文件的最上面,添加我们刚刚复制的那句话:

export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'

如果你的项目有特殊JVM参数,那你就把你的那部分参数和这部分参数合并在一起。


如下图所示:

我的天!你竟然不会用IDEA远程调试Tomcat...


# 服务器Jetty配置


同样是Linux环境


jetty不像Tomcat那样需要安装,只要有jetty的jar包就可以启动我们想要启动的应用。


在启动应用的时候加入之前上边我们copy的-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005就可以了。


就像这样:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar {your jetty path} {your port} --path {your war} 1>/dev/null 2>&1 &


#开始调试


启动服务器Tomcat


启动本地远程服务器


我的天!你竟然不会用IDEA远程调试Tomcat...

如下图,可以看到调试效果

我的天!你竟然不会用IDEA远程调试Tomcat...

来源:https://urlify.cn/NZZNna


 
   
   
 

  
    
    
  

 往期推荐 

🔗




 

点击阅读原文,获得免费编程资料