我一直试图将流口水纳入我一直在从事的项目之一。我以互联网为例,尝试使用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>
我知道这是一个较晚的答复,但我设法使其在此配置下正常工作。也许有人会觉得有用的:)