您的位置:首页 > 运维架构 > Tomcat

在IJ上调式远程jetty和tomcat

2016-01-12 14:42 302 查看
开发的应用在本地运行得好好的,但部署到服务器,应用服务能正常启动起来,运行就总是出问题.对于这种场景,远程调式就比较有用.具体使用如下:

一.使用IJ打开项目

(以前我称为IDEA,既然新Logo是IJ,我也这样叫吧),点击右上角的Edit Configurations.



二.新建一个远程调试配置

1.点左上角的加号,再选Remote,然后Name随意.

2.填写应用服务器的IP和一个未使用的端口(这个端口不是应用服务器的端口),

3.选择源代码类路径.

4.复制Java运行参数来启动Servlet应用服务器.

5.当然是点OK按钮完成配置

三.将当前应用打包,部署到应用服务器.

四.使用刚才复制出来的参数来启动应用服务器.

1.jetty做法.使用
d:\jdk8\bin\java "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8081" -jar start.jar
可以达到效果来启动jetty

2.tomcat做法:tomcat-8\bin\catalina.bat,添加
set JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8081"
然后点start.bat启动可以达到效果来启动tomcat

五.回到IJ,点右上角的调试按钮.在需要的地方下断点.

六.在浏览器打开请求(这里当然是向远程服务器发请求).

这种方式不是只适用某个特定的应用服务器,weblogic同样应适用,Java应用程序也应适用.核心是启动的时候要以以上参数来启动应用服务器即可.远程应用服务器的代码应与本地的代码一样,不一样我也不知出现什么情况.为更保证一样,本地全量打包(不是增量打包)远程服务器可以和本地一样都使用svn或git之类的代码管理.然后都使用maven或gradle来编译打包.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息