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

drools版本:5.3spring

错误描述eclipse

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

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

 

schema配置:ssr

 

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">  

 

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

 

缘由:ip

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

 

纠结:it

可是在drools-spring-1.0.0.xsd所在的drools-spring.jar已经引入也就说明drools-spring-1.0.0.xsd在类路径下面,这是什么缘由形成的呢。。io

 

解决:

终于发现了猫腻,解压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基本 ”基本上都是因为这个缘由形成的,按照这种方法应该都能解决。