2017-11-17 3 views
0

Spring MVC와 Drools를 통합하기 위해 POC를 수행하려고합니다.Drools-Spring MVC 통합 | 스키마 문서를 읽지 못했습니다. | 'kie : kmodule'요소에 대한 선언이 없습니다.

mvc-dispatcher-servlet.xml 파일에서 kie-spring.xsd 파일을 읽으려고합니다.

drools 웹 사이트의 file location은 404를 제공합니다. 결과적으로 스키마에 액세스 할 수 없으며 아래와 같이 경고가 표시됩니다.

"경고 : 무시 XML 유효성 검사 경고 org.xml.sax.SAXParseException, LINENUMBER : 25; columnNumber : 35; schema_reference.4 : 1) 문서를 찾을 수 있기 때문에, 스키마 문서 'http://drools.org/schema/kie-spring.xsd'를 읽지 못했습니다; 2) 문서를 읽을 수 없습니다; 3) 문서의 루트 요소가 아닙니다. "

위의 경고는 25 행에서 오류가 발생하는 것으로 보입니다. "일치하는 와일드 카드가 엄격하지만"kie : kmodule '요소에 대한 선언을 찾을 수 없습니다. "라는 오류가있는 파일입니다. 때 다음 오류 ::

이다 "SEVERE : 컨텍스트 초기화 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException 실패 : 라인 25 XML 문서의 ServletContext 자원 [/ WEB-INF/MVC-디스패처 - 서블릿에서 .xml]은 무효이며 중첩 예외는 org.xml.sax.SAXParseException, lineNumber : 25, columnNumber : 35, cvc-complex-type.2.4.c : 일치하는 와일드 카드는 엄격하지만 요소 ' kie : kmodule '. "

또 다른 Stackoverflow 질문 here에서 언급 한 동일한 문제를 발견했습니다. 그러나 언급 된 두 가지 해결책으로 문제가 해결되지 않았습니다. 다음은

는 MVC-디스패처-servlet.xml에 ::이다

<beans 
xmlns="http://www.springframework.org/schema/beans" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:kie="http://drools.org/schema/kie-spring" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd 
     http://drools.org/schema/kie-spring http://drools.org/schema/kie-spring.xsd"> 

    <context:component-scan base-package="com.kiespring.mvc.controller" /> 

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix"> 
      <value>/WEB-INF/pages/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 

    <bean id="kieUtil" class="org.kie.spring.KieSpringUtil"/> 

    <kie:kmodule id="sample_module"> 
    <kie:kbase name="kbase1" packages="org.drools.spring.sample"/> 
    </kie:kmodule> 

    <bean id="kiePostProcessor" class="org.kie.spring.KModuleBeanFactoryPostProcessor"/> 
</beans> 

POM 파일 : 내 받는다는 설치 글로벌 사용자에 HTTP에 대한 Settings.XML의에서 변경 한

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.kie.sample</groupId> 
    <artifactId>kie-springmvc</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>kie-springmvc Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <spring.version>3.0.5.RELEASE</spring.version> 
    <kie.spring.version>6.0.1.FINAL</kie.spring.version> 
    </properties> 

    <dependencies> 

     <!-- Spring 3 dependencies --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

    <dependency> 
     <groupId>org.kie</groupId> 
     <artifactId>kie-spring</artifactId> 
     <version>${kie.spring.version}</version> 
    </dependency> 
    </dependencies> 

    <build> 
     <finalName>kie-springmvc</finalName> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

설정.

의견이나 제안을 환영합니다.

답변

1

Google에 적합한 kie-spring.xsd. 예 :

github.com/kiegroup/droolsjbpm-integration/blob/master/kie-spring/src/main/resources/org/kie/spring/kie-spring-6.0.0.xsd

복사 그것은 당신이 통제 할 수있는 위치에 있습니다. URL을 변경하십시오.

+0

내 사용자의 폴더 중 하나에 복사했습니다. 그러나 지금은 오류가 발생 "심각 : 컨텍스트 초기화가 실패했습니다 org.springframework.beans.factory.parsing.BeanDefinitionParsingException : 구성 문제 : XML 스키마 네임 스페이스에 대한 스프링 NamespaceHandler를 찾을 수 없습니다 [http://drools.org/schema/kie- 봄] ". 나는 kie-spring jar가 내 빌드 경로에 있음을 확인하고 발견했다. – Vikram

+0

로컬 컴퓨터에서 파일을 호스팅하여이 문제를 해결할 수 있습니다. 당신의 대답을 수락하십시오. – Vikram

관련 문제