`
shao_lixin
  • 浏览: 52609 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

tomcat自动加载改变的class文件(无需重启tomcat)

阅读更多
第一种:
不重启Tomcat有两种方式:热部署、热加载
  热部署:容器状况在运行时重新部署整个项目。这类环境下一般整个内存会清空,重新加载,这类方式
  有可能会造成sessin丢失等环境。tomcat 6确实可以热部署了,而且对话也没丢.
  热加载:最好是在调试过程中使用,免患上整个项目加载,Debug标准样式支持热加载。容器状况在运行时重
  新加载转变编译后的类。在这类环境下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方
  法。一般转变类的布局和模型就会有异常,在已经有的变量和方法中转变是不会出问题的(Eclipse、
  MyEclipse8、JBuilder、IntelliJ IDEA…)。
  常用的一定第二种:热加载了,设置如下!
  在tomcat的conf中的server.xml中的host设置中添加<Context path="/test"
  docBase="D:/develop/test"
  debug="0" privileged="true" reloadable="true"/>
  reloadable="true" !最重要
  它内里有很多属性,意义如下:
  1>path:指定拜候该web应用的URL进口;
  2>docBase:指定web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性【默认
  指向tomcat的webapps】的相对于径;要是Web应用是个war文件,则指定war文件的路径。
  3>className:指定使成为事实Context组件的Java类的名字,这个Java类必须使成为事实org.apache.catalina.Context
  接口,该属性的默认值为org.apache.catalina.StandardContext。
  4>reloadable:要是这个属性设置为true,Tomcat服务器在运行状况下会监视在WEB-INF/classess和WEB-
  INF/lib目次下的class文件的改动,以及监视web应用的WEB-INF/web.xml文件的改动。要是检测到的class
  文件或者web.xml文件被更新,服务器会自动加载Web应用。该属性的默认值为false.在web应用的开发和调
  试阶段,把reloadable设为true,可以方便对web应用的调试。在web应用正式发布阶段,把reloadable设为
  false,可以减低tomcat的运行负荷,提高Tomcat的运行性能。
  5>cachingAllowed:要是为true,标示允许启用静态资源的缓存。使用缓存能提高拜候静态资源的效率。
  tomcat把那一些时常被客户端拜候的静态资源(如:HTML文档、图片文件和声响文件等)放在缓存中,当客户再
  次拜候有关静态资源时,Tomcat只需直接从缓存中读取相关数据,无须反复读取文件系统中的文件。该属
  性的默认值为true.
  6>cacheMaxSize:设定静态资源的缓存的最大容量,以K为单元。要是,要是该属性为100,表示100K,默认
  为10240(即10M)。
  7>workDir:指定web应用的工作目次。Tomcat在运行时会把与这个web应用相关的临应试文章件放在此目次下。
  8>uppackWar:要是此项设为true,表示将把web应用的war文件睁开为开放目次布局后再运行。要是设为
  false,则直接运行war文件。该属性的默认值为true。
  同志们,使用tomcat6.0的注意了啊。当你使用我的方法设置tomcat后,你的myeclipse报如下错误时,不要惊慌,这是正确的,且听我解释。
  console报错:
  警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ' debug' to '0' did not find a matching property. 这是由于你使用的是tomcat6.0,由于它路程经过过程其他途径对debug="0"这个属性进行了使成为事实,所以这搭不能再有此属性。你只要将它去掉,就能够没事了启动了。 也就是说去掉debug="0“,万事OK,呵呵。
第二种:使用jrebel 修改class 文件 不用重启TOMCAT服务器
官方网站 http://www.zeroturnaround.com/jrebel/
TOMCAT 中加入环境配置
-noverify  
-javaagent:F:/jar/jrebel.jar  
-Drebel.dirs=D:\project\manytest\WebRoot\WEB-INF\classes
或者将jar文件放到bin目录下,然后在catalina.bat 下添加 set JAVA_OPTS=-noverify -javaagent:jrebel.jar %JAVA_OPTS%
分享到:
评论

相关推荐

    编译class不用重启tomcat

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

    实现tomcat热更新class文件.docx

    为了解决这个问题,可以配置Tomcat实现热更新class文件,使得修改后的Java类在不重启服务器的情况下就能立即生效。下面将详细介绍如何实现这一功能。 首先,我们需要理解Tomcat的工作原理。当一个Web应用被部署到...

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

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

    tomcat类加载器

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

    Spring+mvc+mybatis Mapper xml自动加载

    "Spring+mvc+mybatis Mapper xml自动加载"这个主题聚焦于如何在开发过程中优化配置,使得改动Mapper XML文件后,无需重启Tomcat服务器,就可以立即生效,从而提高开发效率。 Spring MVC是Spring框架的一部分,它...

    java热加载Class文件.zip

    Java热加载Class文件技术是一种在不重启应用服务器的情况下更新或替换正在运行的Java类的方法,这对于开发者来说是一项非常实用的功能,因为它极大地提高了开发效率。在传统的开发过程中,修改代码后通常需要停止、...

    tomcat 自动发布

    所谓“Tomcat自动发布”,是指当应用代码发生更改后,无需手动干预,服务器可以自动检测到这些变化,并完成项目的热部署(即无需重启服务即可生效)。这种方式极大地提高了开发效率,并减少了人为错误。 #### 二、...

    Tomcat热加载Jrebel

    最后,启动Tomcat,Jrebel就会自动监测代码变动并实现热加载。 4. **Jrebel优势**:除了提高开发效率,Jrebel还能减少由于频繁重启导致的内存泄漏风险,因为它避免了长期运行的应用实例被反复创建和销毁。此外,...

    java class reload

    但这仅适用于源代码改变后,重新编译并部署的 `.class` 文件。 4. **JMX(Java Management Extensions)** - 通过Java管理扩展(JMX),开发者可以远程控制Tomcat,包括重新加载特定的Web应用或单个类。不过这需要...

    jenkins+svn+tomcat+ansible发到tomcat-重启.docx

    根据提供的文档内容,本文将详细解析如何通过Jenkins结合Subversion (SVN)、Tomcat以及Ansible实现自动化部署Web应用程序。此方案适用于希望提高软件发布效率与可靠性的团队。 ### Jenkins + SVN + Tomcat + ...

    quartz 随tomcat启动执行一次

    ### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...

    springMVC样例、jreloader实现tomcat热部署

    它的工作原理是在Tomcat的生命周期中插入一个监听器,当检测到应用中的类文件改变时,会通知Tomcat的ClassLoader重新加载这个类,而无需停止服务器。这样,开发者就可以在不中断服务的情况下,实时看到代码更改的...

    Tomcat 8.5.4 windowsx64

    同时,对于已部署的应用,修改过的`.java`文件会被重新编译,对应的`.class`文件会被更新,而无需停止服务。 在描述中提到了Nohttp、OkhttpUtils和RocooFix,这些都是与Tomcat相关但独立的技术和工具: 1. **...

    Geoserver解决Tomcat跨域问题文件.rar

    4. 重启Tomcat服务器,使更改生效。 注意,跨域策略需要谨慎设置,因为过于宽松的设置可能会暴露敏感数据。在生产环境中,通常会限制允许的源、方法以及可能发送的头信息,以确保安全性。 通过这种方式,你可以...

    tomcat下的log4j日志配置

    5. **重启 Tomcat**:重启 Tomcat 后,相应的日志文件将按照 `log4j.properties` 文件中的设置生成。 **优点**:灵活性高,可以针对每个应用定制化日志配置;便于管理和追踪。 **总结**:根据项目的需求选择合适的...

    tomcat支持跨域jar.zip

    4. **重启Tomcat**:完成配置后,记得重启Tomcat服务,使新的配置生效。 5. **测试验证**:使用Ajax或其他HTTP库发起跨域请求,检查响应头中的`Access-Control-Allow-Origin`字段,确认是否正确返回了预期的源。 ...

    Tomcat配置解决跨域问题

    完成上述配置后,记得重启Tomcat服务器以使更改生效。 5. **测试跨域请求**: 使用浏览器的开发者工具或Postman等工具发起跨域请求,如果一切配置正确,你应该能看到成功响应。 这个“CORS包”可能包含了更详细...

    apache-tomcat-7.0.68

    2. ** Jasper**:这是Tomcat中的JSP引擎,用于处理JSP文件,将其转换为Servlet源代码,再编译为.class文件进行执行。 3. ** Coyote**:Coyote是Tomcat的HTTP/1.1连接器,负责处理来自客户端的HTTP请求,并向客户端...

    Tomcat5.5数据源的配置[图解]

    你可以重启Tomcat服务器,并通过编写Java代码或JSP页面来测试数据库连接是否正常。通常,你可以使用JNDI查找机制来获取数据源: ```java Context initCtx = new InitialContext(); Context envCtx = (Context)...

Global site tag (gtag.js) - Google Analytics