Eclipse/tomcat 如何实现热部署和热启动

 更新时间:2018年09月28日 11:29:30   作者:ai_goodStudent  
这篇文章主要介绍了Eclipse/ tomcat 如何实现热部署和热启动,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1、 热部署:就是容器状态在运行的情况下重新部署整个项目.在这种情况下一般整个内存会清空,重新加载.简单来说就是Tomcat或者其他的web服务器会帮我们重新加载项目.这种方式可能会造成session丢失等情况。

2、热加载:就是容器状态在运行的情况下重新加载改变编译后的类.在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。因为内存无法转变成对像. 一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的。

eclipse配置热启动:

在基于Java的实现热部署、热加载的过程中,类装入器扮演着重要的角色。类装入器不能重新装入一个已经装入的类,否则会报java.lang.LinkageError,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。一般debug模式都支持热加载。

但我在这里遇到了eclipse使用debug启动却并没有热加载的状况,这样对于开发来说是非常耗时的,因为每更改一次class文件都需要重新编译。下面我就如何使用eclipse进行热加载,做一个简单介绍:

启动eclicpse 找到下面这个目录

 打开server.xml,找到

 

复制代码 代码如下:
<Context docBase="dreamlive" path="/ROOT" reloadable="true" crossContext="true" source="org.eclipse.jst.jee.server:dreamlive"/>

这行代码,在你部署新项目的时候,docBase和source会随着改变,现在还是热部署的状态,这样每次更改class文件都会自动的去编译,比较耗时,接下来我们更改一下配置:

复制代码 代码如下:
<Context docBase="dreamlive" path="/ROOT" reloadable="false" crossContext="true" source="org.eclipse.jst.jee.server:dreamlive"/></Host>

 这里将reloadable改为false,添加crossContext="true",这样就能进行 热启动 了,注意:需要用debug启动

不过我们需要在每次部署新项目的时候,重新去更改这个配置,我们可以观察每次部署新项目的时候,server.xml这个文件的动态变化,设置完成之后如果启动项目热加载并没有生效,那么勾选eclipse-->project-->Build Automatically,加上自动编译。

下面附上每个属性的含义   

  • path 指出你的访问路
  • docBase指出你的存放路径
  • debug 为设定debug的等级0提供最少的信息,9提供最多的信息
  • reloadable=true时 当web.xml或者class有改动的时候都会自动重新加载不需要从新启动服务
  • crosscontext="true"表示配置的不同context共享一个session(可以不配置)

Tomcat配置热启动

具体方法如下:

第一步: Tomcat安装目录下,修改 conf/server.xml 中的 Host 配置,设置其reloadable属性为true,即在Host标签中添加reloadable="true"这一句,重启Tomcat使配置文件生效。

第二步:在conf文件夹中的web.xml文件中添加

<init-param>
 <param-name>development</param-name>
 <param-value>true</param-value>
</init-param>

第三步:重启tomcat服务器,使修改生效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • eclipse启动tomcat无法访问的解决

    eclipse启动tomcat无法访问的解决

    这篇文章主要介绍了eclipse启动tomcat无法访问的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • tomcat使用问题之安装后无法访问localhost:8080解决

    tomcat使用问题之安装后无法访问localhost:8080解决

    当Tomcat无法访问localhost:8080时,可能是由于未启动、环境变量未配置、端口号占用或版本问题,这篇文章主要介绍了tomcat使用问题之安装后无法访问localhost:8080解决的相关资料,需要的朋友可以参考下
    2024-10-10
  • Linux中使用Docker容器构建Tomcat容器的完整教程

    Linux中使用Docker容器构建Tomcat容器的完整教程

    Apache Tomcat 是一款广泛使用的开源 Java 应用服务器,适用于运行 Java Servlet 和 JSP 应用程序,本教程将详细介绍如何在 Docker 中构建并运行一个 Tomcat 容器,并提供相应的步骤和解释,需要的朋友可以参考下
    2024-09-09
  • 一个tomcat下部署多个项目的详细步骤

    一个tomcat下部署多个项目的详细步骤

    一个tomcat下如何部署多个项目,Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例,windows系统下部署同理,接下来小编就给大家详细的介绍一下在一个tomcat下部署多个项目的操作步骤,需要的朋友可以参考下
    2023-08-08
  • Tomcat中GET和POST请求时乱码问题及解决

    Tomcat中GET和POST请求时乱码问题及解决

    这篇文章主要介绍了Tomcat中GET和POST请求时乱码问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 快速解决Tomcat重新配置后启动慢的问题

    快速解决Tomcat重新配置后启动慢的问题

    这篇文章主要介绍了解决Tomcat重新配置后启动慢的问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Java+Tomcat 环境部署及安装过程图解

    Java+Tomcat 环境部署及安装过程图解

    这篇文章主要介绍了Java+Tomcat 环境部署及安装过程图解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Tomcat源码导入idea的方法

    Tomcat源码导入idea的方法

    这篇文章主要介绍了Tomcat源码导入idea的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Win10配置tomcat环境变量教程图解

    Win10配置tomcat环境变量教程图解

    这篇文章主要介绍了Win10配置tomcat环境变量教程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 一文告诉你如何解决Tomcat乱码问题(很详细!)

    一文告诉你如何解决Tomcat乱码问题(很详细!)

    这篇文章主要给大家介绍了关于如何解决Tomcat乱码问题的相关资料,还给大家介绍了tomcat窗口中文乱码的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-03-03

最新评论