通配符的匹配很全面, 但无法找到元素 context:component-scan的声明

原因:Spring文件中的引用的xsd文件错误,spring默认从本地加载XSD文件,如果本地获取不到则到网络中获取,所以如果有的时候断网了,或者一些开源软件切换域名,那么就很容易碰到应用启动不了

解决方式一:

1.可以打开spring-context-4.3.0.RELEASE.jar,进入org/springframework/context/config/目录,记住版本号

通配符的匹配很全面, 但无法找到元素 context:component-scan的声明_第1张图片

2.可以打开spring-webmvc-*.*.RELEASE.jar,进入org/springframework.web.servlet/config/目录,记住版本号

通配符的匹配很全面, 但无法找到元素 context:component-scan的声明_第2张图片

2.把配置文件的版本号对应上上面查出来的版本号(选最高)

通配符的匹配很全面, 但无法找到元素 context:component-scan的声明_第3张图片

方式二:Spring中的xsd文件带版本号与不带版本号

解析:不带版本号,它会自动使用JAR中最新的xsd;这样以后升级Spring版本的时候,你的配置文件不用再手动改动。Spring的配置里,最好不要配置xsd文件的版本号。

另外如果没有配置版本号,取的就是当前jar里的XSD文件,减少了各种风险。其实,最大的好处是,当你升级了Spring的jar,该配置文件的XSD声明部分也不用改,会自动找到最新的本地jar里的XSD声明。Spring做了特殊处理,保证断网的情况下不写XSD版本号,能找到本地的jar文件。

通配符的匹配很全面, 但无法找到元素 context:component-scan的声明_第4张图片

 

你可能感兴趣的:(web)