设为首页 收藏本站
查看: 425|回复: 0

[经验分享] 关于TomCat自动加载class问题

[复制链接]

尚未签到

发表于 2017-1-27 09:09:31 | 显示全部楼层 |阅读模式
  每次用tomcat的时候,每当我对类做了修改必须要重新启动tomcat才能使其生效。其实我们可以在tomcat里的server.xml小做修改即可实现当我们修改了类或其他文件时候自动重新加载tomcat。如下:

Java代码 DSC0000.gif   DSC0001.png DSC0002.gif




  • <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代码  




  • 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property '   

  • 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代码  




  • <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,呵呵。 


分享到:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-333931-1-1.html 上篇帖子: tomcat不能停止服务 下篇帖子: eclipse 3.* tomcat启动超时解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表