tomcat与eclipse独立运行的远程开发配置(远程dubug和jrebel热部署)
一、工具:
1.热部署实现使用Jrebel
2.远程debug使用tomcat自带功能
二、思路:
1.文件同步工具将实时编译好的class以及jsp的文件打包到远程服务器(eclipse可使用filesync插件)
2.jrebel检测到有更新的文件,在服务器正常运行的情况下部署修改的文件(热部署)
3.开启tomcat的debug功能,如果修改未达到预期效果,可断断点调试
三、配置
1.下载,解压,**jrebel
2.tomcat的bin目录中天机catalina-jrebel.bat脚本内容如下
@echo off
set REBEL_HOME=D:\software\jrebel //配置jrebel解压路径
set JAVA_OPTS=-agentpath:%REBEL_HOME%\lib\jrebel64.dll -Drebel.spring_plugin=true -Drebel.aspectj_plugin=true -Drebel.log.stdout=true -Drebel.disable_update=true %JAVA_OPTS% -XX:PermSize=125m -XX:MaxPermSize=512m -Xms1024m -Xmx2048m //jrebel参数配置,后面为内存相关参数的配置,jrebel启用比较占内存
SET CATALINA_OPTS = -server -Xdebug -Djava.compiler = NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000//开启debug
call "%~dp0\catalina.bat" %*//调用tomcat的启动脚本
3.使用catalina-jrebel.bat run启动tomcat
为方便在桌面创建remoat-debug.bat脚本内容:D:\software\apache-tomcat-7.0.59\bin\catalina-jrebel.bat run(可双击启动)
4.jrebel启动效果
5.debug启动效果(端口catalina-jrebel.bat中配置)
6、filesysnc配置
①eclipse中安装filesysnc插件
②手动将项目部署到安装的tomcat的webapps下
③右键项目properties->file synchronization,启用文件同步功能,将javaEE项目的web-content映射到tomcat中的项目根目录下(这样就会把两个文件夹同步)
四、使用
1.修改类文件服务器控制台打印
2.右键项目debug as->debug configurations双击remote java applicaton新建一个debug链接,如下图,端口是启动tomcat时设置的,地址因为我的服务器和eclipse是同一台电脑,所以是localhost,点击debug按钮就可启动远程debug,之后的操作就跟本地debug一样了.
五、总结
此种方法方法完全体现了eclipse只是一个java代码编辑,编译的工具,tomcat是完全独立于eclipse运行的,通过filesync插件将编译好的class复制到服务器中,非常实用与已有成品项目的二次开发,tomcat运行项目,eclipse只需要有部分源码就可,而且eclipse中的工程不一定要是javaEE工程,只要能实现自动编译,并通过配置filesync把编译后的class文件同步到tomcat中就行.
六、附件