tomcat对于context.xml的配置报错问题

原创 2013年12月02日 22:13:59
警告: [SetPropertiesRule] Setting property 'source' to

eclipse GANYMEDE中apache-tomcat-6.0.16加载工程后,启动服务器就会出现如下的红色警告信息,真是让人不爽:

2008-10-11 21:33:55 org.apache.tomcat.util.digester.SetPropertiesRule begin

警告: [SetPropertiesRule] Setting property 'source' to 'org.eclipse.jst.jee.server:TestTomcat6.0.16' did not find a matching property.

2008-10-11 21:33:55 org.apache.catalina.core.AprLifecycleListener init

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\study tools\Java\jdk1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;D:/study tools/Java/jdk1.5.0_06/bin/../jre/bin/client;D:/study tools/Java/jdk1.5.0_06/bin/../jre/bin;D:\study tools\Borland\Delphi7\Bin;D:\study tools\Borland\Delphi7\Projects\Bpl\;D:\study tools\Java\jdk1.5.0_06\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\study tools\MySQL\MySQL Server 5.0\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN

在网上查找答案,有的说将Tomcat的版本换成6.0.14就可以了;还有的说在建立Dynamic Web Project时把"Dynamic Web Module"选项后面的版本号由2.5改成2.4也行。不过这些回答好像都不能真正地解决问题。

出现SetPropertiesRule警告的原因是因为Tomcat在server.xml的Context节点中不支持source属性:<Context docBase="…" path="/…" source="org.eclipse.jst.j2ee.server:…"/>

解决方法是在Servers视图里双击创建的server,然后在其server的配置界面中选中"Publish module contexts to separate XML files"选项。

不过"Publish module contexts to separate XML files"究竟是什么意思:就是将contexts 部分放到一个单独的文件中。

转述如下:

这几天一直在看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可以自动重新装载该应用,非常的方便。下面是一个可以自动重新装载servlet和javabean(方便debug),带有数据库连接池(以Oracle为例)的context.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable搜索="true" crossContext="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
  <Manager pathname="" />
-->
<Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource"
     driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
              username="scott"
     password="tiger"
     maxActive="20"
     maxIdle="10"
              maxWait="-1"/>
<Logger className="org.apache.catalina.logger.FileLogger"
  prefix="localhost_DBTest_log." suffix=".txt" timestamp="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve"
  prefix="localhost_access_log." suffix=".txt" pattern="common" />
</Context>

相关文章推荐

tomcat server.xml 节点导致的错误

错误信息org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRule]{Server/Service/En...
  • moliqin
  • moliqin
  • 2009年12月03日 14:04
  • 1957

Tomcat增加Context配置导致启动的时候项目加载两次

1. 出现场景 eclipse发布web应用至tomcat,默认方式下访问该项目是需要带项目名称的,例http://localhost:8080/myapp/。 现在需要改成这样访问http://...

直接启动tomcat时为tomcat指定JDK 而不是读取环境变量中的配置

第一种: 在windows环境下以批处理文件方式启动tomcat,只要运行/bin/startup.bat这个文件,就可以启动Tomcat。在启动时,startup.bat会调用catalina....

Publish module contexts to separate XML files

在Server Options里,选择Publish module contexts to separate XML files。如果不选一般会报错。 这一步的主要目的在于 : 使本来...

Eclipse下配置Tomcat Server

新建Server后,点击Next后,会让添加项目,先不要添加,还需要配置一些地方。Finish。打开Servers窗口,里面会有我们刚建好的Tomcat,双击它就会打开配置文件。  设置1:在Serv...

spring.net错误排查 Error creating context 'spring.root': InputStream is null from Resource

在学习博主刘冬的内容时,想复现lesson_2的内容,写完后的代码调试总是遇到报: Error creating context 'spring.root': InputStream is null...

Tomcat自动缓存context.xml,导致在eclipse中修改后,不能立即启作用

最近发现一个问题,在eclipse里修改了META-INF/context.xml文件后,在eclipse中,将tomcat重启后,修改的地方不起作用,最后在tomcat的目录下找到了原因,有可能是个...

eclipse修改server.xml

(转)Eclipse for j2ee 中启动Tomcat服务器时Server.xml被还原的解决办法 时间2013-09-22 20:28:00 博客园-所有随笔区原文  http://www...

tomcat context 配置加载问题

有时候需要在tomcat里面做特殊的配置,来进行访问: 例如你的程序 名字是hello端口是80  这时候你要访问你d...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tomcat对于context.xml的配置报错问题
举报原因:
原因补充:

(最多只允许输入30个字)