spring加载xsd文件时报错

在集成spring安全框架过程中,经常会遇到一些莫名其妙的validate报错。比如下面的:

问题现象1:BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler

问题现象2:直接点击xml中xsd链接,打开报404

Multiple annotations found at this line:
 - schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/security/spring-
  security-3.1.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the 
  document is not <xsd:schema>.
 - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'http'.

这样的类似的报错,解决方法都应该相同。

首先推荐看一篇csdn上关于spring载入xsd命名空间的文章:http://blog.csdn.net/bluishglc/article/details/7596118

我这里简单总结一下解决这类问题的方法:

1.报这类错误经常的原因是没有导入对应的jar包。如果你不确定,可以找下相关的jar包中是否有对应的xsd文件。

2.如果上面确认有xsd文件,确定你spring xmlns引入的版本在jar包中有。否则更正版本。

经过上面两步正常应该已经可以解决,原因,以及一些小技巧,可以参考上面的文章。

下面是我在myeclipse8.5下遇到的另类问题

上面的步骤都正确,但是还是报错,我先把解决方法说了,后面说我猜想的原因。~_~真实原因,不明白呀!求指点

我的解决方法,就是在xml catelog添加对应的条目

(这里我临时测试时候把xsd文件放桌面了,后来删除了,所以有红叉号)

添加以后,问题就解决了。

同样的部署,在Eclipse下面是能正常运行的,但是在MyEclipse下就会出现问题,所以我猜测问题的原因是,两周ide的校验搜索模式不同,所以造成的问题。

这只是一种猜测,希望对你有帮助。

还有最后一种情况,就是虽然eclipse中加载了jar包,但是在部署过程中,因为没有对lib/springsecurity中的lib进行指定部署到classes的lib中,也会导致这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值