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

Tomcat热部署以及热部署过程中问题解决

2017-09-28 12:01 447 查看
注:本篇文章part 1是转载过来的,part 2(红色部分)是我本人总结的一些,就姑且以原创记录于此;

一、热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效。但是对配置文件的修改除外! 

1、直接把项目web文件夹放在webapps里。

2、在tomcat\conf\server.xml中的<host></host>内部添加<context/>标签: 

<Context debug="0" docBase="D:\demo1\web" path="/demo1" privileged="true" reloadable="true"/>

 

docBase:项目路径,可以使用绝对路径或相对路径,相对路径是相对于webapps 

path:访问项目的路径,如:http://127.0.0.1:8080/demo1 

reloadable:是否自动加载新增或改变的class文件. 

debug属性与这个Engine关联的Logger记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0。 也就是程序异常时写入日志文件里的详细程度。

3、第三种方式和第二种差不多,但是不是在Server.xml文件中添加Context标签,而是在 

%tomcat_home%\conf\Catalina\localhost中添加一个XML文件,

如:demo1.xml,内容如下: 

<?xml version="1.0" encoding="UTF-8"?> 

<Context docBase="D:\demo1\web" reloadable="true" /> 

,只是缺少了path属性,如果你硬写个path="demo2"的话,是没有用的,tomcat不明确的告诉你:“我不认得”, 

这种方式服务器会使用xml文件的名字作为path属性的名字,SO访问地址为:http://localhost:8080/demo1 

=========================================================================================

还有一种方式:使用第三方工具
http://www.zeroturnaround.com/jrebel/
1、解压缩包

2、执行java -jar jrebel-setup.jar

3、会弹出一个安装界面(自己看,很好懂)

4、在MyEclipse中配置,找到服务器(如tomcat)的配置页面,在tomcat的jdk配置页面的Optional Java VM arguments输入框中加如下参数:

-noverify -javaagent:D:\dev\JRebel\jrebel.jar -Drebel.dirs=D:\dev\apache-tomcat-6.0.20\webapps\nmr

第一个路径是jar包的绝对路径,第二个地址是说想让哪个目录下的类更改后不重启服务。

如果Optional Java VM arguments输入框中有其他参数,用空格隔开。

5、发布项目,就能在控制台看到效果。

类就可以改变之后不用重启tomcat。

目前流行的服务器都支持。详细看官方网站。

下载的压缩包文件名为jrebel-setup.zip (7.8 MB) 

可参考:http://japankn.javaeye.com/blog/577931

二、热部署以后存在的问题以及解决方法

1、如何解决热部署时候出现的不能删除jar包问题

   建议使用tomcat6.0.24以上版本,如果用高版本还有jar包无法删除的问题应该修改Tomcat_home\conf路径下的context.xml文件,红色字体为新增加内容

<Context antiJARLocking="true" antiResourceLocking="true">

2、如何解决热部署时候log4j报错问题

Log4j 1.2.15存在一个bug会导致log4j:ERROR LogMananger.repositorySelector was null likely
due to 

修改Tomcat_home\conf路径下的catalina.properties文件

增加下面内容

org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Tomcat
相关文章推荐