我一直试图将流口水纳入我一直在从事的项目之一。我以互联网为例,尝试使用Maven流口水。示例项目工作正常,但是当我在项目中运行相同的示例(也行)时,它给了我错误

error

<pre>
[main] INFO org.drools.compiler.kie.builder.impl.ClasspathKieProject - Found kmodule: file:/D:/Projects/VMS/MaluAPI/target/classes/META-INF/kmodule.xml
[main] ERROR org.drools.compiler.kie.builder.impl.ClasspathKieProject - Unable to build index of kmodule.xml url=file:/D:/Projects/VMS/MaluAPI/target/classes/META-INF/kmodule.xml
org.xml.sax.SAXParseException; systemId: file:/D:/Projects/VMS/MaluAPI/target/classes/META-INF/kmodule.xml; lineNumber: 2; columnNumber: 53; cvc-elt.1: Cannot find the declaration of element 'kmodule'.
[main] ERROR org.drools.compiler.kie.builder.impl.KieContainerImpl - Unknown KieSession name: ksession-rules
java.lang.NullPointerException
    at sample.DroolsTest.main(DroolsTest.java:24)
</pre>


我也在正确的目录中创建了kmodule。
directory structure

我在堆栈溢出中经历了一些描述相同问题的问题,但是我仍然无法使其正常工作。

Unknown KieSession name in drools 6.0 (while trying to add drools to existing maven/eclipse project)

我也会在这里添加我的kmodule。

<pre>
    <?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>
</pre>

最佳答案

<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <kbase name="helloKbase">
        <ksession name="helloKSession" default="true" />
    </kbase>
</kmodule>


我知道这是一个较晚的答复,但我设法使其在此配置下正常工作。也许有人会觉得有用的:)

10-04 11:32