问题抛出:
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
分享到:
相关推荐
当遇到“cvc-elt.1: 找不到元素 'beans' 的声明”这种异常时,通常意味着Spring在尝试解析XML配置文件时遇到了问题。这个错误提示表明XML解析器无法找到`<beans>`元素的定义,这是一个基本的Spring配置文件结构元素...
在XML Schema设计中,"cvc-complex-type.2.4.d: Invalid content was found" 是一个常见的错误信息,这通常意味着在解析XML文档时,遇到了不符合定义的复杂类型的内容。这个错误通常涉及到XML Schema的约束规则,即...
然而,有时在尝试解析这些配置文件时,可能会遇到`SAXParseException`,错误信息显示为`cvc-elt.1: 找不到元素“beans”的声明`。这个错误通常意味着Spring无法找到预期的根元素`<beans>`,这是Spring配置文件的基础...
- 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 '...
- 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 '...
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, ...
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:resources' 报错
JavaScript,作为一种广泛应用于网页和互联网应用的编程语言,拥有丰富的特性和功能,是现代Web开发不可或缺的一部分。在JavaScript经典例子中,我们可以探索并学习到许多关键概念和技术,这些概念和技术对于理解和...
- 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)是流程图中的重要元素,用于定义活动之间的转移路径。本篇学习笔记将深入探讨SequenceFlow的概念、作用以及如何在流程设计中使用。 一、SequenceFlow简介 SequenceFlow 是 ...
一度找不到这个单独的数据集,但其实是包含在一整个医学分割网络的训练策略里的,这个策略是: 训练:其中90%的Kvasir和ClinicDB数据集; 测试:Kvasir和CVC-ClinicDB数据集中的其余图像+CVC-ColonDB+CVC-T+ETIS-...
CVC-ClinicDB 是MICCAI 2015 结肠镜视频自动息肉检测子挑战赛训练阶段的官方数据集。该数据库由从结肠镜检查视频中提取的612张静态图像组成,这些图像来自29个不同的序列。每张帧图像都附带有一个真值(ground truth...
计算机视觉中心-01行人数据集(CVC-01PedestrianDataset) 计算机视觉中心-01行人数据集(CVC-01PedestrianDataset)是一种用于评估行人检测算法的数据库,该数据库记录了巴塞罗那周围的行人数据,并由CVC ADAS小组...
- 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 '...
1. **符号表达式管理**:通过内部的AST结构,PySMT能够轻松创建和操作符号表达式,支持布尔、整数、实数和字符串类型。 2. **模型构造**:库提供了从求解器返回的结果构造模型的功能,这些模型可以用于验证解决方案...
git clone --recursive https://github.com/AILab-CVC/YOLO-World.git 克隆下来的,给大家用
CVC-ClinicDB息肉医学图像分割公开数据集,内涵612张图片,612张图片标签(也可自行划分训练集与测试集)。科研小白初入图像分割领域必备数据集,深度学习模型常用!!!!小白必要数据集!!!
- 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 '...