`
cooperay
  • 浏览: 215665 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

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

 
阅读更多

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配置:

 

http://drools.org/schema/drools-spring
      	   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的文件打开内容为

 

 

http\://drools.org/schema/drools-spring-1.5.0.xsd=org/drools/container/spring/drools-spring-1.5.0.xsd
http\://drools.org/schema/drools-spring-1.4.0.xsd=org/drools/container/spring/drools-spring-1.4.0.xsd
http\://drools.org/schema/drools-spring-1.3.0.xsd=org/drools/container/spring/drools-spring-1.3.0.xsd
http\://drools.org/schema/drools-spring-1.2.0.xsd=org/drools/container/spring/drools-spring-1.2.0.xsd
http\://drools.org/schema/drools-spring.xsd=org/drools/container/spring/drools-spring.xsd
http\://drools.org/schema/drools-service-spring.xsd=org/drools/container/spring/drools-service-spring.xsd

 

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

 

 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-1.5.0.xsd

 

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

 

其他:

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

 

 

结语:

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

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics