`

关于TomCat自动加载class问题

 
阅读更多

每次用tomcat的时候,每当我对类做了修改必须要重新启动tomcat才能使其生效。其实我们可以在tomcat里的server.xml小做修改即可实现当我们修改了类或其他文件时候自动重新加载tomcat。如下:

Java代码 复制代码 收藏代码
  1. <Context path="/struts2" docBase="G:\myEclipseWorkSpace\struts2\WebRoot"  debug="0"   reloadable="true"/>   
<Context path="/struts2" docBase="G:\myEclipseWorkSpace\struts2\WebRoot"  debug="0"   reloadable="true"/> 


path:指定访问该Web应用的URL入口。
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

但是有的时候你可能会发现启动的时候报如下异常

Java代码 复制代码 收藏代码
  1. 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property '   
  2. debug' to '0' did not find a matching property.  
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property '
debug' to '0' did not find a matching property.



这是由于你使用的是tomcat6.0,由于它通过其他途径对debug="0"这个属性进行了实现,所以这里不能再有此属性。你只要将它去掉,就可以正常启动了。

tomcat6。0如下:

Java代码 复制代码 收藏代码
  1. <Context path="/struts2" docBase="G:\myEclipseWorkSpace\struts2\WebRoot" reloadable="true"/>   
<Context path="/struts2" docBase="G:\myEclipseWorkSpace\struts2\WebRoot" reloadable="true"/> 

不重启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,呵呵。 

 

分享到:
评论

相关推荐

    ClassFinal字节码加密工具-其他

    ClassFinal是一款Java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework,可避免源码泄漏或字节码被反编译。...当class被classloader加载时,真正的方法体会被解密注入。

    凌夕卡密微商城 v1.0.1

    卡密微商城支持三级分销,拥有唯一的推广链接,一次推广,三级...admin密码:admin2015.9.15更新如下:修复后台无法编辑用户的问题修复前台首页头部标题没有居中问题修复产品内容较多时,首页和产品列表页面无法加载产

    axis1.4 部署解析webservie

    org/apache/...CLASS NOT FOUND之类的话可能你的ClASSPATH设置的有问题。 在C:\prj\localhost\axis\HelloWorldService_jws下面产生以下四个文件 HelloWorldService.java HelloWorldServiceService.java ...

    Java虚拟机

    9.2.1 Tomcat:正统的类加载器架构 9.2.2 OSGi:灵活的类加载器架构 9.2.3 字节码生成技术与动态代理的实现 9.2.4 Retrotranslator:跨越JDK版本 9.3 实战:自己动手实现远程执行功能 9.3.1 目标 9.3.2 思路 ...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 113 5.3 实战:Eclipse运行速度调优 / 114 5.3.1 调优前的程序运行状态 / 114 5.3.2 升级JDK 1.6的性能变化及兼容问题 / 117 5.3.3 编译时间和类加载时间的优化 / 122 5.3.4 调整内存设置控制垃圾收集频率 ...

    springboot参考指南

    解决自动配置问题 ii. 62.2. 启动前自定义Environment或ApplicationContext iii. 62.3. 构建ApplicationContext层次结构(添加父或根上下文 iv. 62.4. 创建一个非web(non-web)应用 ii. 63. 属性&配置 i. 63.1. ...

    cms后台管理

    接下来第二步安装过程中设置系统参数,系统会自动检测出一些配置项,请根据您的实际情况填写,如图二所示,数据库密码不能为空。 图二:系统参数设置 点击提交后进入第三步进入最后的系统安装过程,安装过程可能...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    白名单设置 139 【数据结构】数组与链表的优缺点 139 【算法】什么是hash? 140 【算法】排序 141 【算法】冒泡排序 141 【算法】快速排序 142 【算法】归并排序的过程?时间复杂度?空间复杂度? 143 【算法】什么是...

    JSP动态网页制作基础培训教程源代码.rar

    读者应该确保计算机上安装有SQL Server 2000服务器,启动SQL Server服务后,打开查询分析器,然后执行本章目录下的db.sql文件自动生成并初始化数据库。 2.将本章的代码(文件夹news)拷贝到Tomcat服务器安装目录的...

    hibernate 框架详解

    1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第一个class ...

    fly:根据BEAN、PROPERTIES生成增删改查,可自定义功能。通过权限配置控制表现形式、数据过滤,精确到字段级别

    1、clone代码到本地2、使用myeclipse中import--exsit maven project,选择刚才下载到的代码路径3、右击项目名,properties-buildPath中需要加入JEE5的包,项目的字符为UTF8格式4、myeclipse会自动building项目,...

    hibernate3.04中文文档.chm

    1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第一个class ...

    Hibernate教程

    1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第一个class 2.2.2...

    电子商务网站详细设计.doc

    2.2 硬件支持 CPU: 1G以上、内存:512M 硬盘:2G以上 2.3 软件支持 操作系统:Windows、Linux均可,数据库可以用SQL Server 2000,服务器可以是Tomcat,数据库连接驱动:.NET集成开发环境。 程序描述 3.1网站前台...

    JavaScript完全自学宝典 源代码

    Web服务器:Tomcat 5.5.20及以上版本 Java运行时环境:Java5.0 JRE及以上版本 2.本书所附光盘范例 第1章(\c01) 示例描述:演示JavaScript的简单应用及JavaScript特效。 1.1.html 用JavaScript开发的弹出式...

    Hibernate3的帮助文档

    1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第一部分 - 第一个Hibernate程序 2.2.1. 第一个class 2.2.2...

    从J2SE到J2EE知识点介绍

    3. 关于jsp在MyEclipse中打开的乱码问题 138 4. 关于html页面在eclipse中打开出现乱码情况 139 5. JSP页面通过URL传递中文参数的乱码问题 139 四、 Struts2 140 (一) 基于struts2的web应用的开发步骤 140 1. MVC设计...

    java 面试题 总结

     GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收...

    Spring.3.x企业应用开发实战(完整版).part2

    12.2.8 延迟加载的问题 12.3 在Spring中使用myBatis 12.3.1 配置SqlMapClient 12.3.2 在Spring配置myBatis 12.3.3 编写myBatis的DAO 12.5 DAO层设计 12.5.1 DAO基类的设计 12.5.2 查询接口方法的设计 12.5.3 分页...

    Spring3.x企业应用开发实战(完整版) part1

    12.2.8 延迟加载的问题 12.3 在Spring中使用myBatis 12.3.1 配置SqlMapClient 12.3.2 在Spring配置myBatis 12.3.3 编写myBatis的DAO 12.5 DAO层设计 12.5.1 DAO基类的设计 12.5.2 查询接口方法的设计 12.5.3 分页...

Global site tag (gtag.js) - Google Analytics