`
luozhong915127
  • 浏览: 190132 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

Tomcat常见警告及开发期修改后台类代码即时生效方法

阅读更多

        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.51cto.com/3970029/723690

3
1
分享到:
评论
2 楼 luozhong915127 2013-04-24  
xikang19 写道
不错,一直用server.xml配置,context.xml还没试过呢



恩,是新的尝试。你怎么博客里没什么文章呀呀。
1 楼 xikang19 2013-04-23  
不错,一直用server.xml配置,context.xml还没试过呢

相关推荐

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

    本文将详细介绍如何在MyEclipse中实现修改类及JSP文件后无需重启Tomcat即可实时生效的方法。 首先,理解问题的核心在于如何使Tomcat在运行状态下感知到代码的变更并自动热部署。MyEclipse内置了对Web应用的热部署...

    网上商城前台+后台HTML源代码

    此外,这也为开发者提供了一个动手实践的机会,通过修改和扩展源代码,可以定制自己的网上商城系统。 总之,这个"网上商城前台+后台HTML源代码"资源是学习电商网站开发的宝贵素材,无论是对初学者还是有经验的...

    解决Tomcat在修改代码后不会自动reload的问题

    然而,在开发过程中,我们经常遇到一个问题:修改了Java代码后,Tomcat不会自动重新加载(reload),导致改动无法立即生效。这无疑降低了开发效率。本文将详细介绍如何解决Tomcat在修改代码后不会自动reload的问题。...

    Tomcat与Java Web开发技术详解(第二版)源代码 光盘

    这是我自己买的书里送的光盘,绝对完整,但是实在是太大了,压缩以后都有30多MB,只能压成两个包,这是part1 part2的地址如下http://download.csdn.net/source/1675852

    Servlet JSP深入详解 基于Tomcat的Web开发

    ### Servlet与JSP深入详解:基于Tomcat的Web开发 #### 一、Servlet技术概述 Servlet是一种用Java编写的服务器端应用程序接口(API),它扩展了Java Web开发的功能。Servlet可以响应HTTP请求,并且能够处理复杂的...

    apache-tomcat-7.0.52 解压免安装版tomcat7

    在开发过程中,你可以随时修改应用程序,Tomcat会自动重新加载变化,大大提高了开发效率。 总的来说,Apache Tomcat 7.0.52作为一个免安装版本,为开发者提供了便捷的Java Web应用开发和测试环境,其灵活性和易用性...

    Tomcat9 64位

    Apache Tomcat是一个开放源代码的Java Servlet容器,主要用于实现Java Servlet和JavaServer Pages(JSP)技术。作为Java EE Web应用服务器的一部分,Tomcat是轻量级的,相比其他全面的Java应用服务器如JBoss、...

    tomcat8(linux)

    **标题:“Linux环境下的Tomcat8安装与配置详解”** 在服务器管理中,Apache Tomcat8是一款广泛应用的开源Java Servlet容器,尤其...同时,推荐查阅提供的博客或其他官方文档,获取更多实用信息和解决常见问题的方法。

    Android 社交App+java web后台整套源代码

    在本资源中,我们拥有一套完整的Android社交应用与Java Web后台系统的源代码,这为开发者提供了一个绝佳的学习和实践平台。这套源代码是基于Android Studio和MyEclipse开发的,涵盖了客户端应用和服务器端服务的全部...

    apache-tomcat-7.0.90

    Apache Tomcat 7.0.90 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。Tomcat 7是Tomcat服务器的一个重要版本,它在Java社区中享有很高的声誉,因为它...

    Tomcat6.0.37免安装版(64位)

    这个版本的Tomcat支持Java SE 6及以上版本,对于开发和测试基于Java的Web应用,提供了一个简单快速的启动平台。然而,需要注意的是,随着技术的发展,Tomcat 6已不再维护,新的应用推荐使用更安全、功能更丰富的...

    Qt5开发及实例源代码

    总的来说,这份"Qt5开发及实例源代码"资料集是学习Qt5开发的宝贵资源,涵盖了Qt5的主要功能和用法。通过深入研究和实践,你可以提升自己的Qt5应用开发能力,无论是创建桌面应用还是移动应用,都能得心应手。

    apache-tomcat-7.0.57

    了解这些基本信息后,你可以进一步学习如何安装、配置、管理和优化Tomcat服务器,包括设置环境变量、修改配置文件以满足特定需求、调整线程池以优化性能、配置虚拟主机、部署Web应用、以及理解和处理常见错误和问题...

    Java Web开发与实战:Eclipse+Tomcat+Servlet+JSP整合应用(含光盘源代码)

    主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...

    DotNetCommon开发公共类源代码

    《 DotNetCommon 开发公共类源代码深度解析》 在.NET开发领域,高效且复用性强的公共类库是每个开发者必备的工具箱。本文将深入探讨“DotNetCommon开发公共类源代码”这一主题,旨在帮助开发者更好地理解和利用这些...

    后台管理系统模版(jsp页面版)

    【后台管理系统模版(jsp页面版)】是一个基于JAVA技术的Web应用,主要设计用于后台管理功能。这个模板使用了JSP(JavaServer Pages)作为动态网页开发技术,它允许开发者将HTML、CSS和Java代码结合在一起,实现...

    ActiveMQ与Tomcat整合

    **ActiveMQ与Tomcat整合详解** ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循JMS(Java Message Service)规范,用于处理应用程序之间的异步通信和消息传递。而Tomcat是一款流行的开源Web服务器和...

    32位tomcat-7.0.55 工具下载

    Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat ...

    jakarta-tomcat-5.0.30

    Jakarta Tomcat,简称Tomcat,是一款开源且免费的Web服务器和Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)技术规范,由Apache软件基金会的Jakarta项目进行开发和维护。Tomcat 5.0.30是该系列的一个...

    apache-tomcat-8.0.24.tar.gz ( Linux版)

    首先,Tomcat是由Apache软件基金会开发的,它实现了Sun Microsystems(现已被Oracle收购)定义的Java Servlet和JavaServer Pages规范。Servlet是一种用Java编写的服务器端程序,用于处理客户端请求并返回响应。而JSP...

Global site tag (gtag.js) - Google Analytics