服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - Eclipse/tomcat 如何实现热部署和热启动

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

2021-09-03 17:05ai_goodStudent Tomcat

这篇文章主要介绍了Eclipse/ tomcat 如何实现热部署和热启动,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

eclipse配置热启动:

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

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

启动eclicpse 找到下面这个目录

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

 打开server.xml,找到

 

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

 

 这里将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文件中添加

?
1
2
3
4
<init-param>
 <param-name>development</param-name>
 <param-value>true</param-value>
</init-param>

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

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

原文链接:https://blog.csdn.net/ai_goodStudent/article/details/82878206

延伸 · 阅读

精彩推荐
  • Tomcattomcat的配置使用详细版(小结)

    tomcat的配置使用详细版(小结)

    开发者开发部署web应用时通常使用tomcat服务器,这篇文章主要介绍了tomcat的配置使用详细版(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参...

    yumiaoxa5592021-08-31
  • Tomcat如何在IntelliJ IDEA 2018上配置Tomcat并运行第一个JavaWeb项目

    如何在IntelliJ IDEA 2018上配置Tomcat并运行第一个JavaWeb项目

    这篇文章主要介绍了在IntelliJ IDEA 2018上配置Tomcat并运行第一个JavaWeb项目,需要的朋友可以参考下...

    「已注销」4242021-09-15
  • TomcatTomcat核心组件及应用架构详解

    Tomcat核心组件及应用架构详解

    众所周知Tomcat 就是一个 Servlet 容器,为了方便使用,他们具有http服务器的功能,所以Tomcat 就是一个“HTTP 服务器 + Servlet 容器”,我们也叫它们 Web 容器,...

    PoetryAndTheDistance12612021-09-24
  • TomcatTomcat日志文件定时清理备份的脚本

    Tomcat日志文件定时清理备份的脚本

    这篇文章主要介绍了Tomcat日志文件定时清理备份的脚本的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...

    jaamy8492021-08-15
  • TomcatCentOS系统下安装Tomcat7的过程详解

    CentOS系统下安装Tomcat7的过程详解

    今天开始学习Tomcat7 ,学习前首先需要安装,我用的系统是CentOS系统,所以下面这篇文章主要介绍了CentOS系统下安装Tomcat7的过程,需要的朋友可以参考下,下...

    上品物语5902021-08-16
  • Tomcatidea打包成war包部署到tomcat及访问路径问题(图文详解)

    idea打包成war包部署到tomcat及访问路径问题(图文详解)

    这篇文章主要介绍了idea打包war包部署到tomcat以及访问路径问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴...

    Ma_Bu_Teng7952021-09-12
  • Tomcat解决Tomcat10 Catalina log乱码问题

    解决Tomcat10 Catalina log乱码问题

    这篇文章主要介绍了解决Tomcat10 Catalina log乱码问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的...

    条卯李系瓜皮10672021-09-17
  • TomcatMac+IDEA+Tomcat配置的方法步骤

    Mac+IDEA+Tomcat配置的方法步骤

    本主要介绍了Mac+IDEA+Tomcat配置的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    海M滨8062021-11-14