tomcat热部署

  今天在群里刚好看的一个朋友提,看了下,比较适合web项目,现在的项目用不上,整理记录一下吧

  

  热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效。

方法一:

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

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

  path:指定访问该Web应用的URL入口,如:http://127.0.0.1:8080/project

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

  reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

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

方法二:

  在tomcat的conf\Catalina\localhost目录中新建一个gameserver.xml文件,内容为

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

  <Context path="/Velocity" docBase="D:\workSpace\gameserver\webRoot" reloadable="true"/>

方法三:

  使用插件 jrebel

  安装好以后,在eclipse中进行相关配置,找到服务器(如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输入框中有其他参数,用空格隔开。

时间: 2024-10-06 09:40:58

tomcat热部署的相关文章

IDEA第二章----配置git、tomcat(热部署)、database,让你的项目跑起来

第一节:下载git客户端,整合idea 由于博主公司用的git版本管理,所以本系列都是基于git版本工具的,当然SVN与git配置类似.git同样支持安装版和解压版,支持各种操作系统,我这里下载的是Windows的解压版. 选择刚才解压后的文件夹,选择cmd文件夹下的git.exe,然后点击Test查看是否连接成功. 注:如果没有配置git客户端,用git地址导入项目会提示你找不到git.exe. 第二节:配置tomcat(热部署稍后会讲到) tomcat下载安装就不在累赘,博主用的是tomca

tomcat源码解读(1)–tomcat热部署实现原理

tomcat的热部署实现原理:tomcat启动的时候会有启动一个线程每隔一段时间会去判断应用中加载的类是否发生变法(类总数的变化,类的修改),如果发生了变化就会把应用的启动的线程停止掉,清除引用,并且把加载该应用的WebappClassLoader设为null,然后创建一个新的WebappClassLoader来重新加载应用. tomcat中热部署发现类变法之后要做的一系列停止工作的时序图如下: 上面时序图中只把关键的流转步骤画出来了,还有一些细节的处理没有完全画出来,这部分代码的继承的结构还是

jrebel+eclipse+tomcat热部署

jrebel+eclipse+tomcat热部署 搞了个jrebel准备热部署代码,方便以后开发web类型项目,网上找了一堆安装教程,各式各样的都有,尝试了几个,结果遇到了一堆问题,决定把正确流程贴出来. 本流程是按照jrebel官网安装,但jrebel是收费的(虽然说有一个免费social版,但我没有搞出来),期间加入破解方法. 第一步:下载jrebel tomcat和eclipse的安装就不说了,打开eclipse,打开help->Eclipse Marketplace,搜索jrebel,点

Tomcat热部署,Web工程中线程没有终止

近期项目中,用 jenkins 热部署 web工程时,发现工程中静态持有的线程(将ScheduledExecutorService定时任务存储在静态Map中),导致不定时出现数据库访问事务关闭异常,如下:org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.Il

idea tomcat热部署 Error running &#39;Tomcat 7&#39;: Unable to open debugger port (127.0.0.1:3622): java.net.SocketExcepti

今天在进 tomcat 的 debug 模式时报了此异常, tomcat 进入 debug 模式失败 网上查了下原因,发现通过修改下面两个端口即可正常进入 tomcat 的 debug 模式 idea tomcat热部署 Error running 'Tomcat 7': Unable to open debugger port (127.0.0.1:3622): java.net.SocketExcepti 原文地址:https://www.cnblogs.com/kinome/p/89899

IDEA中Tomcat热部署不生效问题解决办法

IDEA中Tomcat热部署不生效问题解决办法 1.设置完热部署后 2.一定要在Debug模式下运行不要点RUN!!!!!!!!!!!!!!!!! 原文地址:https://www.cnblogs.com/wenqiangit/p/11023658.html

Tomcat热部署的三种方式

热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效.但是对配置文件的修改除外! 1.直接把项目web文件夹放在webapps里. 2.在tomcat\conf\server.xml中的<host></host>内部添加<context/>标签: <Context debug="0" docBase="D:\demo1\web" path="/demo1"

Netty+Tomcat热部署端口占用解决办法(转)

在eclipse使用maven deploy (tomcat:deploy) 热部署netty项目 ,项目启动的时候会报错端口被占用. Java代码   java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:444) at sun.nio.ch.Net.bind(Net.java:436) at sun.nio.ch

nginx负载均衡和tomcat热部署简单了解

简单说下几个名词 nginx 它是一个反向代理,实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服务器那里取得返回的数据,这个就是nginx的工作内容 tomcat 开源的web服务器 oracle 数据库 redis 缓存系统 nginx负载均衡简介 如图1展示,客户端发起请求,通过nginx代理后,根据权重将请求平均转发到服务器 热部署简介 一般我们只有1个tomcat的时候,如果需要代码包,就需要把tomcat关闭

IDEA tomcat热部署方法及乱码问题解决

在项目开发过程中,我们一般希望在修改完代码之后不重启项目即可提现出修改的结果,那么热部署项目就显得十分必要了.在idea中将项目热部署至tomcat中的方法如下: 首先打开tomcat配置界面,在server中 将 "On Update action"."On frame deactivation" 都选择 update classes and resources 然后选择deployment,点击加号,选择要发步项目的exploded, 然后设置所配置tomcat