Idea调试远程Tomcat的代码

现在越来越多的项目是以前后端分离的方式进行开发,SO这两天我也玩了玩分离式开发。

前后端分离,就需要后端服务器提供一整套API共前端人员调用。那么在开发阶段,双方都需要调试,如果将后端API部署在本地的话,后端人员调试很方便,但是前端人员需要怎么访问我本地的API呢?之前公司的老项目真的很low,他们解决这个问题是通过日志,把所有的API请求的详细信息、请求参数、错误信息全部都以log的方式输出到日志文件里面。然后把项目部署到服务器上,前端调用的时候,一旦有了问题就去看日志,从日志里分析是哪里出了错,然后再改bug。每改一次bug,就重新部署一遍。本人真的忍受不了这么低效的工作方式,真不知道那些老员工是怎么过来的。

好了言归正传,那么有没有既能让远在天涯的前端人员调用我们的API,后端人员还可以随时的debug呢?那肯定是有了,笔者想到方式有两种:一种是让自己的电脑可以让外网访问到,但是这种方式需要配置路由,或者动态域名什么的,都很繁琐。所以我没有采取这种方式。第二种呢就是把项目部署到服务器上,idea直接debug服务器上都代码。这种方式显然可行,于是笔者开始动手。

这过程比较曲折,遇到了很多坑。由于我用的是Tomcat服务器,所以我想着在idea上部署一个远程的Tomcat就行了,于是我百度了几篇文章,挑了两篇好一点的,在这里给大家列出来:

https://blog.csdn.net/tianjun2012/article/details/52795202

https://blog.csdn.net/yirentianran/article/details/79175232

笔者照着文章上面的一步一步配置,但到最后就是不好使。详细过程就不再赘述了,修改了tomcat的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=47.94.153.250"

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"

idea的配置:

然后服务器的端口也都开放了。 但是配置完了,运行报错

说是我的连接超时,然后我就各种ping,都是可以通的,而且端口的监听也可以在服务器上查到。这时笔者就很郁闷了,为什么会连接超时呢?百度了半天也没有找到解决方案。无奈我只好去请教大神,在与大神的沟通过程中,大神说他用的不是这个idea的远程服务器,而是另一个。

 并给我了一片文章,哈哈 https://www.cnblogs.com/wy2325/p/5600232.html,于是我又照着配置了一遍。

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

果然,服务器的tomcat和idea连接成功了(当然服务器需要先开放对应的端口)!

笔者顿时高兴的一匹,毕竟搞了大半天,终于连接成功了。原以为万事大吉的我,没想到还差一步,不过我们已经向成功迈进了一大步了。就在我在postman中访问API,进行debug的时候,却发现服务器返回的是404,本地的idea也没有反应。奇怪,明明已经连上了,为什么访问不到?于是我上服务器看了一下,tomcat里面根本没有我的项目。这是为什么呢?我回来盯着idea中连接成功的这句话看了半天,突然想到,这只是连接成功了,但是他没有将我的代码打包部署到tomcat上,于是我将项目打包,部署到了远程的这个tomcat上,再次请求API,终于看到我想要的了!!!

完美,至此我们的目的已经达到了,此时笔者也大致明白了,idea与远程的tomcat只是建立了一个scoket连接,监听远程tomcat上的请求,并不会将项目通过scoket部署到远程的tomcat,所以我们需要手动部署tomcat,idea监听请求从而debug服务器上的项目。

在此感谢帮助我的大神啊!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值