错误:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'mvc:default-
servlet-handler'.
应该是对应的xsd文件找不到,Ctrl单机http://www.springframework.org/schema/mvc/spring-mvc.xsd无法找到网页。
尝试在http://www.springframework.org/schema/mvc/spring-mvc.xsd后添加版本号后正常运行。
网上查询得到:
spring在加载xsd文件时总是先试图在本地查找xsd文件(spring的jar包中已经包含了所有版本的xsd文件),如果没有找到,才会转向去URL指定的路径下载。
解决方法,把所有spring配置文件中url形式的xsd路径转换成指向本地xsd文件的classpath形式的路径,例如:classpath:org/springframework/beans/factory/xml/spring-beans-2.5.xsd
是否给xsd配置版本号的问题。
Spring很贴心,把旧版本的XSD文件全放在本地了。这样可以防止升级了Spring版本,而配置文件里用的还是旧版本的XSD文件,然后断网了,应用启动不了。我们还可以看到,在没有配置版本号时,用的就是当前版本的XSD文件
不要在Spring的配置里,配置上XSD的版本号
因为如果没有配置版本号,取的就是当前jar里的XSD文件,减少了各种风险。
而且这样约定大于配置的方式很优雅。