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

[经验分享] Tomcat常见警告及开发期修改后台类代码即时生效方法

[复制链接]

尚未签到

发表于 2017-2-5 10:35:00 | 显示全部楼层 |阅读模式
          Maven管理搭建了web工程,配置了SpringMVC后,准备启动。启动倒是没有报错,但是前面红红的文字中,几个大的“警告”着实让我不太愉快。遂准备动手去解决。
  警告1: 
      警告: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: ... 
     原因:Tomcat6使用了Apache下一个叫Apache Portable Runtime(APR)的组件,这条信息说的是找不到APR使用的基础原生库 

       解决方案:网上说的比较多的是去网站http://tomcat.apache.org/进入Tomcat Native链接,在里面找个对应平台最新的二进制文件下载 。其实这个文件在你下载的tomcat里一般都会存在,就是bin目录下的tcnative-1.dll文件。报错只是因为没有找到该文件,所以,网上很多解决方案会说将该文件放到system32下或者$JAVA_HOME/bin下。其实,只要将tomcatbin目录配置到环境变量的paht里,即可。换句话说,你可以讲该文件扔到任意path环境变量指向的路径。重启Eclipse,启动web工程,警告消除了。
  
警告2:

       警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:...' did not find a matching property. 
     原因:该警告的原因是因为Tomcatserver.xmlContext节点中不支持source属性:<Context docBase="..." path="/..." source="org.eclipse.jst.j2ee.server:..."/> 
     解决方案:解决方法是在Servers视图里双击创建的server,然后在其server的配置界面中选中"Publish module contexts to separate XML files"选项。

           一直在看tomcat 6的有关内容,在其文档中看到tomcat 5,6关于context的配置不同于tomcat 4,不推荐在server.xml中进行配置,在context.xml文件中进行配置才是更好的方法。回想以前所有的项目都是在server.xml中配置context的,每次部署一个新的应用或者修改context内容都要重新启动tomcat,导致应用总是要中断服务一小段时间,比较不方便,而且多个context都在server.xml中,显得有些杂乱。于是决定使用在context.xml中进行配置应用的方式。在tomcat_home\ conf目录下有一个context..xml文件,修改其中内容之后,tomcat 能够自动reload所有的应用。
       应用是在 tomcat_home\webapps下部署了多个应用,这多个应用的context配置是不同的。于是我把原来server.xml有关 context的部分(多个)复制出来,粘贴到context.xml中,保存之后,启动tomcat ,发现启动的时候出错,看来tomcat是不支持在一个context.xml中配置多个不同应用的。上网上google有关在context.xml中配置多个应用的方法,遗憾的是,始终无法找到。后来仔细阅读tomcat 文档,终于找到了解决方法,在应用下面的META-INF文件夹下建立context.xml文件就可以满足应用的定制需求。具体路径就是: tomcat_home\webapps\yourApp\META-INF\context.xml,这样每个应用都可以拥有各自的配置,修改了该文件中的内容,tomcat可以自动重新装载该应用,非常的方便。
   
  开发期修改类不用重启Tomcat的方法:
      修改类后不用重启Tomcat就能自动生效,对于我们提高开发效率的帮助是很大很大。之前跟别人讨论过这个问题,他们用的方式是,reloadable设置成true。其实这个只是tomcat自动帮助你重启,而无需你手动重启而已(有人称为热部署),并不能达到我们想要的效果。想要真正做到即时生效,恰恰需要讲此选项设置成false并用debug模式启动tomcat即可
     http://mushiqianmeng.blog.iyunv.com/3970029/723690

运维网声明 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-337707-1-1.html 上篇帖子: tomcat配置(免安装及安装版)之间有什么区别 下篇帖子: 在tomcat下进行程序时报错及解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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