Spring 加载找不到XSD文件
阅读引导:
1、由点破面,了解Spring加载bean配置文件的原理。
2、Spring暴露出来的扩展spring schema。
3、为自己工作,为自己的系统工作,做自己的老板,形成正循环:打磨当前工作的核心关键能力——>高效能工作——>更多时间打磨自己的系统——>更高效能工作——>打磨下个层次工作的核心关键能力……
4、核心竞争力,是指你拥有的(独特的)知识经验组合,经过你思维逻辑的组织梳理,在实践中产生无可替代的价值。打造自己的TMS系统(T:专业技术;M:沟通管理、S:行业解决方案),利用复利效应,让系统为自己工作。
开发Spring程序时报错:
org.xml.sax.SAXParseException: schema_reference.4: 无法读取方案文档 ‘http://www.springframework.org/schema/beans/spring-beans.xsd’, 原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是 xsd:schema。
有两种可能:
1、声明中指定错了xsd版本。
2、maven打包出问题。
这个问题,不要靠经验,不要靠猜测,要了解spring加载的原理:
spring程序,去压缩包(jar\war等)文件夹中 /META-INF/spring.schemas 找对应的xsd,如果找不到再去互联网找此xsd
所以,再出现这个问题,直接打开文件spring.schemas搜索。
如果版本不对就修改版本。
如果里面是空的,甚至不包含xsd,但是jar包又确实引用了,那么说明有多个版本spring的jar包,然后冲突了。
打包的maven插件可以配置如下,主要增加对于spring的transformer配置。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</</