Drools 无法生成kmodule.xml的索引

Drools 无法生成kmodule.xml的索引,drools,Drools,我正在尝试为SOA环境设置Drools规则。因此,我需要使用xmlparser-2.0。我使用解析器将XMLDocument类型输入转换为自定义模型,这些模型用作规则引擎的事实 我的问题是,当xmlparser作为库添加时,KieContainer无法实例化KieSession。 此时出现无法构建kmodule.xml索引的错误 我查了两个班,这不是问题 我正在运行这个示例代码 import org.kie.api.KieServices; import org.kie.api.runtime.

我正在尝试为SOA环境设置Drools规则。因此,我需要使用xmlparser-2.0。我使用解析器将XMLDocument类型输入转换为自定义模型,这些模型用作规则引擎的事实

我的问题是,当xmlparser作为库添加时,KieContainer无法实例化KieSession。 此时出现无法构建kmodule.xml索引的错误

我查了两个班,这不是问题

我正在运行这个示例代码

import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;

public class DroolsTest {


    public static final void main(String[] args) {
        try {
            // load up the knowledge base
            KieServices ks = KieServices.Factory.get();
            KieContainer kContainer = ks.getKieClasspathContainer();
            KieSession kSession = kContainer.newKieSession("ksession-rules");

            // go !
            Message message = new Message();
            message.setMessage("Hello World");
            message.setStatus(Message.HELLO);
            kSession.insert(message);
            kSession.fireAllRules();
        } catch(Throwable t) {
            t.printStackTrace();
        }
    }

    public static class Message {

        public static final int HELLO = 0;
        public static final int GOODBYE = 1;

        private String message;

        private int status;

        public String getMessage() {
            return this.message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        public int getStatus() {
            return this.status;
        }

        public void setStatus(int status) {
            this.status = status;
        }
    }
}
这是在导入xmlparser-2.0时运行DroolsTest的日志

2017-06-29 12:53:13 INFO  ClasspathKieProject:131 - Found kmodule: file:/C:/Users/A653219/workspace/rules-engine/target/classes/META-INF/kmodule.xml
2017-06-29 12:53:13 DEBUG ClasspathKieProject:400 - KieModule URL type=file url=/C:/Users/A653219/workspace/rules-engine/target/classes
2017-06-29 12:53:14 ERROR ClasspathKieProject:124 - Unable to build index of kmodule.xml url=file:/C:/Users/A653219/workspace/rules-engine/target/classes/META-INF/kmodule.xml

    2017-06-29 12:53:14 ERROR KieContainerImpl:681 - Unknown KieSession name: ksession-rules
    java.lang.NullPointerException
        at com.sample.DroolsTest.main(DroolsTest.java:24)
这是kmodule.xml

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">

    <kbase name="rules" packages="rules">
        <ksession name="ksession-rules"/>
    </kbase>

    <kbase name="dtables" packages="dtables">
        <ksession name="ksession-dtables"/>
    </kbase>

    <kbase name="process" packages="process">
        <ksession name="ksession-process"/>
    </kbase>

</kmodule>
依赖

<dependency>
            <groupId>org.kie</groupId>
            <artifactId>kie-api</artifactId>
            <version>6.5.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-core</artifactId>
            <version>6.5.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.drools</groupId>
            <artifactId>drools-decisiontables</artifactId>
            <version>6.5.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jbpm</groupId>
            <artifactId>jbpm-test</artifactId>
            <version>6.5.0.Final</version>
        </dependency>

org.kie
基亚皮
6.5.0.1最终版本
org.drools
流涎核
6.5.0.1最终版本
org.drools
drools决策表
6.5.0.1最终版本
org.jbpm
jbpm测试
6.5.0.1最终版本

我也遇到了同样的问题,我做了一个
mvn dependency:tree
,发现我的一个JAR导致了以下问题:

[INFO]+-xerces:xercesImpl:jar:2.4.0:compile

我将此添加为该依赖项的一个排除项,它起了作用

   <dependency>
        <groupId>mygroup</groupId>
        <artifactId>somejar</artifactId>
        <version>2.4</version>
        <exclusions>
            <exclusion>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
            </exclusion>
            <exclusion>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
            </exclusion>
        </exclusions>

mygroup
萨默贾尔
2.4
com.thoughtworks.xstream
xstream
薛西斯
干细胞移植
   <dependency>
        <groupId>mygroup</groupId>
        <artifactId>somejar</artifactId>
        <version>2.4</version>
        <exclusions>
            <exclusion>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
            </exclusion>
            <exclusion>
                <groupId>xerces</groupId>
                <artifactId>xercesImpl</artifactId>
            </exclusion>
        </exclusions>