Spring和drools整合遇到问题cvc-complex-type.2.4.c

0 篇文章 0 订阅

drools版本:5.3

错误描述

 cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element drools:keybase

从错误信息来看是没有找到keybase节点

 

schema配置:

 

Xml代码   收藏代码
  1. http://drools.org/schema/drools-spring  
  2.            http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring-1.0.0.xsd">  

 

这样的配置在联网的情况下没有问题,当断网后就出来了提示的错误,

 

原因:

在类路径找不到命名空间为 “http://drools.org/schema/drools-spring”的schema,所以会到网上去找但是网上也找不到就会抛出错误。

 

纠结:

但是在drools-spring-1.0.0.xsd所在的drools-spring.jar已经引入也就说明drools-spring-1.0.0.xsd在类路径下面,这是什么原因造成的呢。。

 

解决:

终于发现了猫腻,解压drools-spring.jar打开META-INF会发现有个spring.schemas的文件打开内容为

 

 

Java代码   收藏代码
  1. http\://drools.org/schema/drools-spring-1.5.0.xsd=org/drools/container/spring/drools-spring-1.5.0.xsd  
  2. http\://drools.org/schema/drools-spring-1.4.0.xsd=org/drools/container/spring/drools-spring-1.4.0.xsd  
  3. http\://drools.org/schema/drools-spring-1.3.0.xsd=org/drools/container/spring/drools-spring-1.3.0.xsd  
  4. http\://drools.org/schema/drools-spring-1.2.0.xsd=org/drools/container/spring/drools-spring-1.2.0.xsd  
  5. http\://drools.org/schema/drools-spring.xsd=org/drools/container/spring/drools-spring.xsd  
  6. http\://drools.org/schema/drools-service-spring.xsd=org/drools/container/spring/drools-service-spring.xsd  

 

我去原来jar包中的xsd还有个映射文件按照改文件的映射将

 

Xml代码   收藏代码
  1. http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring-1.0.0.xsd  

 

  改为

 

Java代码   收藏代码
  1. http://drools.org/schema/drools-spring-1.5.0.xsd  

 

 好了现在可以正常运行了。

 

其他:

  可能会遇见eclipse不能只能提示的问题,解决方法为 包 xsd文件copy出来,配置eclise XML catalog。(这个都会)

 

 

结语:

  所有的“cvc-complex-type.2.4.c基本 ”基本上都是由于这个原因造成的,按照这种方法应该都能解决。

转子:http://cooperay.iteye.com/blog/1487969

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值