`
eggbucket
  • 浏览: 186394 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

修改类不用重启Tomcat加载整个项目

 
阅读更多

可以修改类不用重启Tomcat加载整个项目(手工启动)
    配置reloadable=true(自动重载)
    使用Debug模式,前提是仅限于局部修改。(修改类不用重启--热加载)

    Tomcat轻小,而WebLogic、WebSphere对硬件要求比较高,吃内存、耗CUP。JBoss类更改不会重启(传说,我没用过,不知道!)。

    在使用Eclipse+Tomcat开发Java项目的时候常常会碰到这样的情况,已修改Java文件Tomcat就会自动重启,接下来就是漫长的等待服 务重启完毕。那其实大多数的Java文件修改是没有必要重启服务的,只有一些特定的Java文件,比如说只有重启服务的时候才会调用的Java代码才需要 重启服务。

    一修改java代码就重新部署(console有明显提示),且会话失效,设置服务器为debug模式(debug on server),否则修改不起作用.

    什么时候应该redeploy,什么时候应该重启tomcat。如果项目大,redeploy和重启tomcat的系统开销是很大的,经常要等很长时间。

    Tomcat运行时动态重载类, 实现重载功能的测试jsp。当系统中有很多类时,如果开启了Tomcat的reloadable=true,那么每当相关文件改变时,Tomcat会停止 web app并释放内存,然后重新加载web app.这实在是个耗时的工程. 如果能有只重载某几个类的功能,将极大的满足我这个即时调试狂。

1.修改类不重启Tomcat(不用手动重启)
    首先需要设置server.xml中的Context reloadable="true", true自动重载(不是重启!), false手动重载。(如果项目在Tomcat中,应该去Tomcat目录设置。)
    Eclipse EE 设置方式,文件设置:server.xml > reloadable="false" 界面设置:Server > Modules > Edit > webapp > Auto reloading enabled > false
    开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。可以选择把其他不相关的项目先从webapps移出,这样tomcat加载的项目就少了,相应也就快了。

这里是重点:修改tomcat conf目录下的server.xml,添加:

Xml代码
  1. < Context path = "/struts2" docBase = "D:\workspace\lee_struts2\WebRoot" reloadable = "true" />   

   注:docBase="",中的内容为项目的WebRoot目录

然后在把MyEclipse server中 tomcat 的开发模式设置为开发模式,ok确定。

然后启动tomcat,随意修改项目中的一个文件,就会看到Console窗口重新加载项目,ok,搞定...


2.修改类不重启Tomcat有两种方式:热部署、热加载
    热部署:容器状态在运行时重新部署整个项目。这种情况下一般整个内存会清空,重新加载,这种方式可能会造成sessin丢失等情况。tomcat 6确实可以热部署了,而且会话也没丢.
    热加载:最好是在调试过程中使用,免得整个项目加载,Debug模式支持热加载。容器状态在运行时重新加载改变编译后的类。在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。

    一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的(Eclipse、MyEclipse8、JBuilder、 IntelliJ IDEA…)。

3.自动编译JSP
build Automatically

修改Tomcat源代码实现realoadable!不推荐~

分享到:
评论

相关推荐

    Myeclipse中修改类及jsp文件后不用重启tomcat的方法

    然而,当我们在MyEclipse中修改了类文件或JSP文件后,通常需要重启Tomcat服务器才能使更改生效,这无疑增加了开发过程中的等待时间。本文将详细介绍如何在MyEclipse中实现修改类及JSP文件后无需重启Tomcat即可实时...

    编译class不用重启tomcat

    标题“编译class不用重启tomcat”涉及到的是Java开发中的热部署技术,它允许开发者在不重启应用服务器(如Tomcat)的情况下,实时更新代码并看到变化的效果,从而极大地提高了开发效率。这篇博客可能介绍了如何使用...

    利用Tomcat远程部署解决修改类后重启Tomcat问题

    标题“利用Tomcat远程部署解决修改类后重启Tomcat问题”揭示了主要关注点在于如何在不手动重启Tomcat服务器的情况下,实现应用的热更新或快速部署。这通常涉及到Tomcat的管理工具,特别是它的Manager应用程序,以及...

    修改java 不重启tomcat

    5. **实时修改代码**:当代码有改动时,保存修改,JRebel会在后台自动重新编译并加载新的类,无需手动重启Tomcat。 除了基本的热部署功能,JRebel 4.x还提供了其他一些实用特性,如资源文件的实时更新、Spring框架...

    IntelliJ IDEA修改了mybatis mapper xml后不用重启tomcat,自动热发布 热更新 热部署.zip

    总的来说,通过合理配置IDEA的自动构建选项,以及Mybatis Plus的热加载设置,我们可以实现在修改Mapper XML文件后,无需重启Tomcat即可看到更新效果,大大提高开发效率。如果遇到XML文件未被自动检测到更新的情况,...

    修改java类而无需重启tomcat.rar

    使用以下方法可以修改java类而无需重启tomcat: 下载javarebel.zip 解压后,将javarebel.jar拷贝到一个目录。/bin 目录下 修改tomcat安装目录下的\bin\catalina.bat文件, 增加set JAVA_OPTS=-noverify -javaagent:d...

    修改java代码以及js无需重启tomcat

    ### 修改Java代码及JS无需重启Tomcat的知识点详解 #### 一、背景介绍 在软件开发过程中,频繁地启动和停止应用服务器对于提高开发效率是一个不小的障碍。特别是当使用如Apache Tomcat这样的应用服务器时,每次修改...

    idea intellij修改文件后不用重启tomcat的办法

    针对这一问题,我们可以采用一种名为JRebel的技术来实现热部署,使得在IntelliJ IDEA中修改文件后无需重启Tomcat即可实时生效。 **JRebel** 是一个强大的热部署工具,它允许开发者在不重启服务器的情况下,实时看到...

    Windows7下定时重启tomcat的方法

    定时重启Tomcat有助于清理内存中的垃圾、重新加载配置更改以及避免长时间运行可能引起的潜在问题。以下是一种在Windows 7环境下通过批处理(BAT)脚本和Windows任务计划程序来实现定时重启Tomcat的方法: 1. **创建...

    idea热部署(更新代码不用重启tomcat).docx

    ### IDEA热部署详解:更新代码无需重启Tomcat #### 一、引言 在软件开发过程中,频繁地启动和停止应用服务器(如Tomcat)来查看代码修改效果不仅耗时,而且降低了开发效率。为此,许多IDE(集成开发环境)如...

    定时重启tomcat

    轻松实现tomcat定时重启 首先修改jsp.bat中的两个路径,其中set JAVA_HOME后面是jdk路径,下面是tomcat路径;运行,执行注册。 然后修改tomcat.bat中的ping 127.0.0.1 -n 5(暂停时间) 最后将tomcat.bat添加的计划...

    tomcat类加载器

    通常,开发者希望在不重启服务器的情况下更新代码,这时DevLoader可能会有热部署功能,即在代码更改后,能自动或手动重新加载修改过的类,而无需停止和重新启动Tomcat服务。这大大提高了开发效率。 类加载器在...

    javarebel不用再反复重启tomcat

    标题“javarebel不用再反复重启tomcat”直指JavaRebel的主要优势,即避免了在Tomcat上部署应用时频繁重启的繁琐过程。Tomcat是一个流行的开源Java应用服务器,广泛用于开发和部署Java Web应用程序。然而,它的默认...

    jsp-解决文件上传后重启Tomcat时文件自动删除问题.docx

    该问题是指在jsp项目中上传文件后,重启Tomcat服务器或清理缓存时,上传的文件会自动删除的问题。 问题分析 在jsp项目中,我们通常使用DefaultServlet来处理文件上传请求。但是,在重启Tomcat服务器或清理缓存时,...

    tomcat定时重启方案

    定时重启Tomcat对于保持服务的稳定性和应对可能出现的内存溢出等问题至关重要。以下是详细的配置步骤: 1. **Tomcat绿色版注册为系统服务** - 确保`tomcat\bin`目录下存在`service.bat`文件。 - 打开命令行,切换...

    清空Tomcat中的work目录并重启Tomcat.bat

    标题 "清空Tomcat中的work目录并重启Tomcat.bat" 暗示这是一个批处理脚本,用于自动化清理Apache Tomcat服务器的`work`目录,然后重启服务。这个过程对于Java开发人员来说非常有用,因为它可以帮助他们清理临时编译...

    tomcat 类加载机制 —— ClassLoader

    这依赖于类加载器的智能设计,它能够识别出哪些类已经被修改,并重新加载这些类,而不会影响到其他未改变的类。 总的来说,理解Tomcat的类加载机制有助于我们更好地管理应用的类加载,优化性能,解决类冲突问题,...

    让tomcat自动加载修改过的类和servlet

    这意味着每当`test`应用中的类或Servlet发生改变时,Tomcat将自动检测并重新加载这部分内容,而无需重启整个服务器。 #### 知识点三:了解`&lt;Context&gt;`元素的其他相关属性 除了`reloadable`属性外,`&lt;Context&gt;`元素...

    tomcat6.0 修改启动内存设置 java jvm参数配置

    ### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...

    tomcat自动定时重启

    在Windows中,我们可以使用“任务计划程序”创建一个新任务来执行重启Tomcat的操作;在Linux系统中,可以使用`cron`服务进行定时任务设定。 2. **Tomcat重启脚本**:`tomcatst.bat`文件很可能是用于启动或停止...

Global site tag (gtag.js) - Google Analytics