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
一、热部署是指在你修改项目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
相关文章推荐
- 使用solr4.9部署到tomcat上出现Context [/solr] startup failed due to previous errors问题以及解决办法
- Linux下安装MyEclipse和Tomcat服务器详解,以及我安装过程中所出现的问题以及解决办法,并实现一个web小程序
- Linux 服务器下 tomcat9的安装部署(SSL证书部署)以及遇到的问题解决
- tomcat7源码编译过程以及问题解决
- 关于tomcat端口的修改,以及同时部署多个应用,自己遇到的问题以及解决办法
- JAVA war包部署到tomcat,jar包冲突问题的解决办法,以及原理剖析。
- Myeclipse工作空间打开时保错说空指针以及Tomcat项目无法部署的问题解决
- 在部署MVC4.0网站的过程中遇到的问题以及解决办法
- tomcat7源码编译过程以及问题解决
- 记flume部署过程中遇到的问题以及解决方法(持续更新)
- eclipse配置tomcat,以及部署项目到tomcat(解决项目部署后,webapps中无项目文件问题)
- tomcat开启https配置过程中的问题以及解决方法
- COCOS2D-X在给弹出框加入弹出效果过程中遇到的问题以及解决办法
- IDEA 社区版 使用Maven创建Web工程 并部署tomcat(解决无tomcat的问题)
- WIN7下安装Oracle 10g 的详细过程以及有关问题的解决(转)
- Tomcat部署常见问题以及处理
- tomcat部署文件夹下手动创建的ftp,在每次项目部署就消失的问题解决
- Linux服务器安装部署jdk+tomcat+mysql可能遇到的问题及解决办法
- Tomcat项目部署过程中的问题
- 解决eclipse部署tomcat服务器无法启动的问题