xsi:noNamespaceSchemaLocation使用心得_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > xsi:noNamespaceSchemaLocation使用心得

xsi:noNamespaceSchemaLocation使用心得

 2014/11/18 19:10:55  lianzerong  程序员俱乐部  我要评论(1)
  • 摘要:在使用ehcache的时候碰到一个问题:isinvalid;nestedexceptionisorg.xml.sax.SAXParseException:cvc-elt.1:Cannotfindthedeclarationofelement'ehcache'Causedby:org.xml.sax.SAXParseException:cvc-elt.1:Cannotfindthedeclarationofelement'ehcache'分析下来就是ehcache.xml文件加载出问题了
  • 标签:使用 使用心得 Schema
在使用ehcache的时候碰到一个问题:
class="java">is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ehc
ache'

Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'ehcache'


分析下来就是 ehcache.xml文件加载出问题了,根据错误可以看出是"ehcache"节点无法解析,那么首先就可以想到是描述文件出错ehcache.xsd;
为什么加载不到呢在本地直接
curl -X GET http://ehcache.org/ehcache.xsd 

发现确实是链接不到服务器,发现是内网机器无法访问网络;
定位到问题首先想到的就是,那把ehcache.xsd下载到本地直接读,思路是正确的,只是文件路径的设置需要注意一下

比如:
如果,ehcache.xsd 和 ehcache.xml文件同目录下面
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="ehcache.xsd"
	updateCheck="false" dynamicConfig="false">

这样配置是错误的,加载不了的;
那么要如何配置
xsi:noNamespaceSchemaLocation=""

看了一下源代码
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(InputSource inputSource, Resource resource)

Resource:我首先想到的就是:classpath:META-INF/spring/ehcache.xsd
没有仔细看,直接改上去:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="classpath:META-INF/spring/ehcache.xsd"
	updateCheck="false" dynamicConfig="false">


OK 跑通过了,就是这样对的,没错,好了,以后类是的问题都可以这样处理
    网友 2014/12/4 16:18:38 发表

    我遇到你这个问题,一直解决不了

发表评论
用户名: 匿名