`
assen
  • 浏览: 62253 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

cvc-elt.1: 找不到元素 'ehcache' 的声明

 
阅读更多
问题抛出:
Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 87; cvc-elt.1: 找不到元素 'ehcache' 的声明。



ehcache.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false">
    <diskStore path="java.io.tmpdir/Tmp_EhCache"/>
    <defaultCache eternal="false" maxElementsInMemory="10000" overflowToDisk="false" diskPersistent="false"
                  timeToIdleSeconds="0" timeToLiveSeconds="600" memoryStoreEvictionPolicy="LRU"/>
 	
	<!-- 缓存配置     
	name:缓存名称。     
	maxElementsInMemory:缓存最大个数。     
	eternal:对象是否永久有效,一但设置了,timeout将不起作用。     
	timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
	timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。
	overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。
	diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。     
	maxElementsOnDisk:硬盘最大缓存个数。     
	diskPersistent:是否缓存虚拟机重启期数据 Whether the disk store persists between restarts of the Virtual Machine. The default value is false.     
	diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。     
	memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。    
	clearOnFlush:内存数量最大时是否清除。 -->
	<cache name="ehcacheGO" maxElementsInMemory="100000" eternal="false" timeToIdleSeconds="300" 
	timeToLiveSeconds="300" overflowToDisk="true" memoryStoreEvictionPolicy="LRU" />

</ehcache>


maven项目中,ehcache.xml引用目录结构如附件1.png
pom文件加入ehcache引用,
<dependency>
    <groupId>net.sf.ehcache</groupId>
	<artifactId>ehcache</artifactId>
	<version>2.10.6</version>
</dependency>


一切准备就绪,启动tomcat,无异常抛出。重启tomcat,抛出异常,反复操作几次,异常偶发性的出现,如下所示:

Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 87; cvc-elt.1: 找不到元素 'ehcache' 的声明。
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)


问题原因:spring容器在加载ehcache.xml文件时,会去加载命名空间的ehcache.xsd文件,即xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd",这个文件加载不稳定,从而导致在解析ehcache.xml文件里的标签时无法识别。

解决方法:
将命名空间的ehcache.xsd文件下载下来放在项目本地中引用,如图附件2.png,ehcache.xsd文件可以放在maven项目的resources根目录底下,ehcache.xml文件命名空间的引用方式改成如下
xsi:noNamespaceSchemaLocation="classpath:ehcache.xsd"
  • 大小: 6.9 KB
  • 大小: 10.3 KB
分享到:
评论

相关推荐

    spring配置文件解析失败报”cvc-elt.1: 找不到元素 &#39;&#39;beans&#39;&#39; 的声明”异常解决

    当遇到“cvc-elt.1: 找不到元素 'beans' 的声明”这种异常时,通常意味着Spring在尝试解析XML配置文件时遇到了问题。这个错误提示表明XML解析器无法找到`&lt;beans&gt;`元素的定义,这是一个基本的Spring配置文件结构元素...

    spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 的声明详解

    然而,有时在尝试解析这些配置文件时,可能会遇到`SAXParseException`,错误信息显示为`cvc-elt.1: 找不到元素“beans”的声明`。这个错误通常意味着Spring无法找到预期的根元素`&lt;beans&gt;`,这是Spring配置文件的基础...

    dubbo找不到dubbo.xsd报错

    - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'. - schema_reference.4: Failed to read schema document '...

    解决:dubbo找不到dubbo.xsd报错

    - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'. - schema_reference.4: Failed to read schema document '...

    springmodules-cache.xsd&springmodules-ehcache.xsd.rar

    cvc-complex-type.2.4.a: Invalid content was found starting with element 'page-encoding'. One of '{"http:// java.sun.com/xml/ns/javaee":include-prelude, ...

    spring-mvc-3.0.xsd

    cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:resources' 报错

    javascript经典例子

    JavaScript,作为一种广泛应用于网页和互联网应用的编程语言,拥有丰富的特性和功能,是现代Web开发不可或缺的一部分。在JavaScript经典例子中,我们可以探索并学习到许多关键概念和技术,这些概念和技术对于理解和...

    urlrewritefilter-4.0.3.jar

    id=$1`的请求,其中`$1`是正则表达式`(.*.)`捕获的部分。 此外,`URLRewriteFilter`还支持多种条件匹配,如请求方法(GET、POST等)、HTTP头信息、Cookie值等,以及重定向、临时重定向、设置响应头等功能,使得URL...

    dubbo.xsd文件下载

    - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'. - schema_reference.4: Failed to read schema document 'http:// code....

    Activiti 学习笔记七:连线(SequenceFlow)

    在Activiti中,连线(SequenceFlow)是流程图中的重要元素,用于定义活动之间的转移路径。本篇学习笔记将深入探讨SequenceFlow的概念、作用以及如何在流程设计中使用。 一、SequenceFlow简介 SequenceFlow 是 ...

    CVC-T Endoscene 息肉数据集

    一度找不到这个单独的数据集,但其实是包含在一整个医学分割网络的训练策略里的,这个策略是: 训练:其中90%的Kvasir和ClinicDB数据集; 测试:Kvasir和CVC-ClinicDB数据集中的其余图像+CVC-ColonDB+CVC-T+ETIS-...

    最完整的CVC-ClinicDB数据集

    CVC-ClinicDB 是MICCAI 2015 结肠镜视频自动息肉检测子挑战赛训练阶段的官方数据集。该数据库由从结肠镜检查视频中提取的612张静态图像组成,这些图像来自29个不同的序列。每张帧图像都附带有一个真值(ground truth...

    计算机视觉中心-01行人数据集(CVC-01PedestrianDataset).pdf

    计算机视觉中心-01行人数据集(CVC-01PedestrianDataset) 计算机视觉中心-01行人数据集(CVC-01PedestrianDataset)是一种用于评估行人检测算法的数据库,该数据库记录了巴塞罗那周围的行人数据,并由CVC ADAS小组...

    解决dubbo找不到dubbo.xsd报错

    - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'. - schema_reference.4: Failed to read schema document '...

    Python库 | PySMT-0.9.1.dev20-py2.py3-none-any.whl

    1. **符号表达式管理**:通过内部的AST结构,PySMT能够轻松创建和操作符号表达式,支持布尔、整数、实数和字符串类型。 2. **模型构造**:库提供了从求解器返回的结果构造模型的功能,这些模型可以用于验证解决方案...

    YOLO-World.tar.gz

    git clone --recursive https://github.com/AILab-CVC/YOLO-World.git 克隆下来的,给大家用

    CVC-ClinicDB息肉医学图像分割公开数据集

    CVC-ClinicDB息肉医学图像分割公开数据集,内涵612张图片,612张图片标签(也可自行划分训练集与测试集)。科研小白初入图像分割领域必备数据集,深度学习模型常用!!!!小白必要数据集!!!

Global site tag (gtag.js) - Google Analytics