远程调试部署在Tomcat中的应用服务(2种配置方式)
远程调试部署在Tomcat中的应用服务(tomcat 远程debug 配置文件)
方法一(编辑catalina.bat)
1. D:\iVMS_Platform\bin\apps\ivms6-liteTomcat\bin 编辑catalina.bat文件
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
替换成这样:
set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
2. D:\iVMS_Platform\bin\apps\ivms6-liteTomcat\bin 编辑startup.bat文件
加上jdk的环境:
set JAVA_HOME=D:\iVMS_Platform\bin\apps\jdk
set JRE_HOME=D:\iVMS_Platform\bin\apps\jdk
3. 点击startup.bat文件启动项目
4. 在Eclipse IDE中点击需要调试的类,右键->Debug as->Debug Configurations->选中Remote Java Application->左上角点击增加按钮->填写Host(远程应用所在的服务器的IP)->填写Port(步骤一中在catalina.bat文件中修改的远程调试端口)->Apply->Debug 效果如下:
5. 在Eclipse IDE中,显示图标,表示远程连接成功,在该类中打断点,进行应用服务操作,触发调用的接口即可调试,和本地调试一样。(调试的代码和服务器中的代码保持一致,不然会出现问题) 效果如下图所示:
步骤一:修改catalina.bat文件其实就是在tomcat启动时设置一些虚拟机参数,使服务器允许远程连接功能,address=7878表示远程连接的端口号,可以设置成任意其他不冲突端口。
该窗口出现,说明远程调试配置成功
方法二(编辑startup.bat)
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
替换为:
call %EXECUTABLE%" jpda start %CMD_LINE_ARGS%
此之前加上
set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=8787
set JPDA_SUSPEND=n
1. 修改tomcat的启动脚本startup.bat。复制startup.bat为startup-debug.bat,然后打开startup-debug.bat,找到call "%EXECUTABLE%" start %CMD_LINE_ARGS%这一行,修改为“call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%”,然后在上面添加三行:
set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=9000
set JPDA_SUSPEND=n
启动startup-debug.bat文件启动项目,后续和方法一一样。
为什么要在setclasspath.bat设置JAVA_HOME和JRE_HOME的变量的值?
在windows环境下以批处理文件方式启动tomcat,只要运行<CATALINA_HOME>/bin/startup.bat这个文件,就可以启动Tomcat。在启动时,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat文件的开头处加入以下内容:
rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 730396 2008-12-31 13:49:30Z markt $
rem ---------------------------------------------------------------------------
set JAVA_HOME=C:\Java\jdk1.60
set JRE_HOME=C:\Java\jre1.60
C:\Java\jdk1.60就是JDK的安装路径。
同下:
默认情况下,JDK安装好后,在系统环境变量里设置好JAVA_HOME就可了,但如果系统有多个web服务器,而每个WEB服务器根据需要,要使用不用的JDK版本,那么如下设置就可以解决此类问题。
在tomcat所在目录下的bin子目录里面有个setclasspath.bat文件,
打开并找到 if not "%JAVA_HOME%" == "" goto gotJdkHome 字样。
在该行代码上面加上set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18
当然后面的值就是为这个tomcat所指定的特定的JDK安装目录。
设置好启动tomcat即可。
rem表示注释。
注:需要说明的是部分版本的tomcat5是没有bat文件的 它的启动直接是exe,暂时还没想到方法。