(http://blog.csdn.net/hety119/article/details/48056039)
Could not resolve XML resource [null] with public ID [null], system ID …………
tomcat 7.0.52开始的版本才会出这个问题,是因为安全的考虑tomcat 7.0.52开始的版本把 context.xml 中的xmlBlockExterna属性默认为false,要解决这个问题,两种方法:1、把tomcat版本换成7.0.52之前的版本。2、把xmlBlockExterna设成true。
下面是原版解释:
As per discussion with Tomcat developers, xmlBlockExternal="true" attribute of Tomcat's Context (context.xml) was set true by default starting from 7.0.52. With xmlBlockExternal="false"generated/djn-settings.conf can be included
apache-tomcat-7.0.64\conf\context.xml修改后的配置:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version='1.0' encoding='utf-8'?>
< !--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
< !-- The contents of this file will be loaded for each web application -->
< !-- <Context> -->
< !-- modified by hety ,detail see url bellow:
http://www.yellowfinbi.com/YFForum-Upgrading-Tomcat-6-to-6x-beware-of-old-driver-files-causing-issues-?thread=165713 -->
< Context xmlBlockExternal="false">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<!--
There is not only one validationQuery for all databases. On each database you have to use different validationQuery.
After few hours of googling and testing I have collected this table:
Database validationQuery notes
hsqldb - select 1 from INFORMATION_SCHEMA.SYSTEM_USERS
Oracle - select 1 from dual
DB2 - select 1 from sysibm.sysdummy1
mysql - select 1
microsoft SQL Server - select 1 (tested on SQL-Server 9.0, 10.5 [2008])
postgresql - select 1
ingres - select 1
derby - values 1
H2 - select 1
Firebird - select 1 from rdb$database
-->
<!-- 配置顺序由上到下依次为:1:cas ;2:oms/ums ;3:cms,updated by hety on May18,2015-->
<Resource name="jndi/rua" auth="Container" type="javax.sql.DataSource" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.27.61:3306/sydj_open_rua?useUnicode=true&characterEncoding=utf-8" maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1 from dual" testOnBorrow="true" />
<Resource name="jndi/sydj" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true" username="sydj" password="sydj" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.27.60:1521:sydj"/>
<Resource name="jndi/cms" auth="Container" type="javax.sql.DataSource" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.27.61:3306/sydj_cms?useUnicode=true&characterEncoding=utf-8" maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1 from dual" testOnBorrow="true"/>
< /Context>
++++++++++++++++++++++++++++++++++++++++++++++++++++++